0
我有一個wpf渲染大小的奇怪問題,試圖爲單選按鈕編寫自定義模板,以便它可以通過分辨率進行縮放。 在VS XAML預覽中它看起來應該是這樣,但是當我運行應用程序時,它變成了香蕉。WPF在調試時渲染大小問題
這是VS預覽:
應用:
所以,就像我所看到的問題是在呈現大小:
我嘗試過沒有網格,高度和寬度設置爲自動等,每次它在VS預覽中呈現沒有任何問題,但我很快調試它(F5)它只是去一些巨大的渲染大小值。調整窗口大小沒有區別。
XAML代碼:
<Style TargetType="{x:Type RadioButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RadioButton}">
<BulletDecorator>
<BulletDecorator.Bullet>
<Border Background="{x:Null}" x:Name="PART_Border" Width="{Binding ActualHeight, ElementName=ButtonPanel}" Height="{Binding ActualHeight, ElementName=ButtonPanel}"
>
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Rectangle Margin="{Binding
Converter={StaticResource PercentageConverter},
ElementName=ButtonPanel,
Path=ActualHeight,
ConverterParameter=0.03}"
Fill="{x:Null}"
RadiusX="{Binding
Converter={StaticResource PercentageConverter},
ElementName=ButtonPanel,
Path=ActualHeight,
ConverterParameter=0.10}"
RadiusY="{Binding
Converter={StaticResource PercentageConverter},
ElementName=ButtonPanel,
Path=ActualHeight,
ConverterParameter=0.10}"
Stroke="#FFE0E000"
StrokeThickness="{Binding
Converter={StaticResource PercentageConverter},
ElementName=ButtonPanel,
Path=ActualHeight,
ConverterParameter=0.07}"
Width="{Binding
Converter={StaticResource PercentageConverter},
ElementName=ButtonPanel,
Path=ActualHeight,
ConverterParameter=0.94}"
Height="{Binding
Converter={StaticResource PercentageConverter},
ElementName=ButtonPanel,
Path=ActualHeight,
ConverterParameter=0.94}"
/>
</Grid>
</Border>
</BulletDecorator.Bullet>
</BulletDecorator>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="PART_Border" Property="Opacity" Value="1"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter TargetName="PART_Border" Property="Opacity" Value="0.5"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
謝謝
對於加分,我可以添加我在單選按鈕模板中的自定義屬性,如文本字體,矩形筆畫的顏色,矩形中的圖像等等? :) – ostomac
檢查你是否解析你的'0.94'好,如果你的轉換器中有「不變的culutre」,那麼0.94就是94.這可能是問題所在。 – sTrenat
是的,這是問題,thx很多 – ostomac