是否可以在WPF C#中的指定行中影响样式/ Behaviorto指定的列?
现在我有这个:
<DataTrigger Binding="{Binding Path=Status}" Value="2">
<Setter Property="Grid.Column" Value="0"/>
<Setter Property="IsEnabled" Value="false" />
</DataTrigger>
现在的问题是,整个行都被禁用了。我想在某些情况下只禁用第一列。
这是专栏,我想禁用:
<DataGridTemplateColumn Header="Details" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="ShowDetails">Details</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
答案 0 :(得分:0)
这样可行(如果“X”的值为3,则禁用第二列“Y”):
<DataGrid ItemsSource="{Binding Items}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="X" Binding="{Binding X}"/>
<DataGridTextColumn Header="Y" Binding="{Binding Y}">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding X}" Value="3">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
答案 1 :(得分:0)
解决方案:
<DataGridTemplateColumn Header="Details" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button IsEnabled ="{Binding boolEnabled}" Click="ShowDetails">Details</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>