如何解决为动态创建的WPF控件在XAML中设置边距
| 我有一个WPF,可以在加载表单时动态创建按钮,并将它们添加到XAML中已声明的StackPanel中。我想在StackPanel.Resources内部的XAML中完全定义这些按钮的样式。到目前为止,我可以为Style属性做到这一点,但是我遇到的麻烦是实现边距的最佳方法。我知道“边距”是“厚度”,实际上不能以样式应用,但必须定义为静态资源并直接应用于“边距”属性。有没有一种方法可以在XAML中执行此操作而无需求助于背后的代码? 这是我的StackPanel的XAML: <StackPanel
x:Name=\"_dialogButtons\"
Orientation=\"Horizontal\"
HorizontalAlignment=\"Right\"
DockPanel.Dock=\"Right\">
<StackPanel.Resources>
<Style
targettype=\"{x:Type Button}\">
<Setter
Property=\"MinWidth\"
Value=\"75\" />
<Setter
Property=\"Padding\"
Value=\"3\" />
</Style>
</StackPanel.Resources>
</StackPanel>
谢谢,
麦克风
解决方法
您声明“我知道边界是厚度,因此无法实际应用样式”,这是不正确的。可以在XAML中应用边距,the1ѭ类型具有类型转换器,该类型转换器可以将字符串转换为
Thickness
,从而允许您按以下方式对其进行定义:
<setter Property=\"Margin\" Value=\"5,5,5\"/>
, <StackPanel.Resources>
<Style
TargetType=\"{x:Type Button}\">
<Setter
Property=\"MinWidth\"
Value=\"75\" />
<Setter
Property=\"Padding\"
Value=\"3\" />
<Setter
Property=\"Margin\"
Value=\"3\" />
</Style>
</StackPanel.Resources>
, Padding
也是Thickness
,看来您可以加上一点;)。
因此,只需按照与Padding
相同的方式进行即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。