![](/img/trans.png)
[英]DataGridView: c# generic UserDeletingRow for multiple grids on same form
[英]C# WPF - Create a generic style trigger for multiple checkboxes defined within separate grids
我有 40 多个复选框,每个复选框都位于视图的单独网格中。 这样做的目的是让我可以根据特定条件轻松地将网格的背景设置为黄色。 下面的代码片段按预期工作。
唯一的缺点是我目前必须复制此样式并将其放在 40 个复选框中的每一个中并绑定到元素名称。 因此,我的问题是如何使网格样式更通用,这样我就不必将样式放在每个复选框中并绑定到元素名称。 任何建议将不胜感激。
<Grid Margin="5 10 0 0">
<CheckBox Name="cbValid" Content="VALID-CATEGORY" FontSize="12"
IsChecked="{Binding Category.VALID_CATEGORY}"
Style="{StaticResource CheckBoxStyle}"/>
<Grid.Style>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=cbValid, Path=Background}" Value="Yellow">
<Setter Property="Background" Value="Yellow" />
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>
如果为 CheckBox 创建自定义模板,则不需要Grid
。
或者,您可以使用隐式Grid
样式将Background
绑定到其第一个孩子的Background
:
<Style TargetType="Grid">
<Setter Property="Background"
Value="{Binding Children[0].Background, RelativeSource={RelativeSource Self}}" />
</Style>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.