【发布时间】:2014-10-13 16:37:14
【问题描述】:
- 我有数据源,它在 WPF 中绑定到网格。数据源是 学生数组,具有以下字段
- 姓名,年级
网格有 3 列
姓名、成绩、设置
设置列包含用于设置的简单按钮,如下所示
<DataGridTemplateColumn Header="Settings" Width="75" CanUserResize="False">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Name="cSettings" Click="cSettings_Click" Style="{DynamicResource EditSettingsButton}" Width="50" >
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
现在,如果 grade 等于 1,那么只有设置按钮才会显示。 我可以在 XAML 本身中编写条件吗?即按钮的可见性应该在某些条件下?
尝试了以下方法但不起作用
<DataTemplate>
<Button Name="cSettings" Click="cSettings_Click" Style="{DynamicResource EditSettingsButton}" Width="50" >
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding Grade}" Value="1">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Grade}" Value="2">
<Setter Property="Visibility" Value="Hidden"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Button>
</DataTemplate>
谢谢
【问题讨论】:
-
尝试将
<Style>更改为<Button.Style>。现在您将Button.Content设置为Style对象,但您需要将<Button.Style>设置为指定的样式
标签: mvvm data-binding wpfdatagrid