作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含许多行和列的 WPF 网格,所有行和列都包含诸如 TextBlocks 和 TextBoxes 之类的内容。
对于这种特定情况,我希望第 1 列中的所有内容都有填充,并且第 2 列中的所有内容都正确对齐。必须在网格中的每个项目上设置这些属性似乎非常非 WPF。
我知道我可以通过执行以下操作为网格中的所有 TextBlock 创建样式:
<Grid>
<Grid.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="HorizontalAlignment" Value="Right"/>
</Style>
</Grid.Resources>
</Grid>
最佳答案
这是我通常做的:
<Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Style.Triggers>
<Trigger Property="Grid.Column" Value="0">
<Setter Property="Margin" Value="0,0,2,0" />
</Trigger>
<Trigger Property="Grid.Column" Value="2">
<Setter Property="Margin" Value="20,0,2,0" />
</Trigger>
</Style.Triggers>
</Style>
关于WPF Grid - 如何只为一列应用样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/851511/
我是一名优秀的程序员,十分优秀!