【问题标题】:WPF Cell Button Hide on certain conditionWPF 单元格按钮在特定条件下隐藏
【发布时间】: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>

谢谢

【问题讨论】:

  • 尝试将&lt;Style&gt; 更改为&lt;Button.Style&gt;。现在您将Button.Content 设置为Style 对象,但您需要将&lt;Button.Style&gt; 设置为指定的样式

标签: mvvm data-binding wpfdatagrid


【解决方案1】:

您可以尝试改用converter。看到这个link

【讨论】:

  • 您好,感谢您的回复,但这意味着,我应该为它编写代码 c#。在 XAML 中不可能吗?
  • 谢谢..最后我只使用了标准方式!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多