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