.net 基于不同列值禁用DataGrid中的按钮
我有以下代码:.net 基于不同列值禁用DataGrid中的按钮,.net,wpf,xaml,datagrid,triggers,.net,Wpf,Xaml,Datagrid,Triggers,我有以下代码: <DataGridTextColumn IsReadOnly="True" Header="StringLock" Binding="{Binding StringLock}"> <DataGridTextColumn.ElementStyle> <Style TargetType="{x:Type TextBlock}">
<DataGridTextColumn IsReadOnly="True" Header="StringLock" Binding="{Binding StringLock}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="Text" Value="False">
<Setter Property="Background" Value="LightGray"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTemplateColumn Header="CanPressButton">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button>Lock module string</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
锁模串
如果StringLock列背景属性包含的文本值为False,则该属性的颜色为浅灰色
如果StringLock列中的文本值为False,我想禁用CanPressButton列中的按钮
如何执行此操作?您可以使用完整的
数据上下文(即行项目)来触发:
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding StringLock}" Value="False">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
您可以使用完整的数据上下文(即行项目)触发:
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding StringLock}" Value="False">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
需要一些帮助。我应该读什么书来学习WPF中的MVVM?我正在研究WPF,但使用代码隐藏编码。@NikhilAgrawal:我不推荐关于编程的书籍。还有一些关于如何学习MVVM的问题。回答得很好!非常好用,而且非常干净需要一点帮助。我应该读什么书来学习WPF中的MVVM?我正在研究WPF,但使用代码隐藏编码。@NikhilAgrawal:我不推荐关于编程的书籍。还有一些关于如何学习MVVM的问题。回答得很好!非常好用,而且非常干净