我在WPF中创建了一个Datagrid控件,其中每行的单元格中都有一个按钮
列(子图)。如何才能使按钮仅对子图列中的某些单元格行可见。
XAML:
<DataGridTemplateColumn x:Name="subgraphtyp" Header="H" Width="50">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Name="btnTable" Visibility="Visible" Height="20" Width="25"
Click="Button_Table_Click">
<Image Height="16" Source="Subgraph.png" Stretch="Fill" Width="16"/>
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
答案 0 :(得分:2)
最简单的方法是将按钮的可见性绑定到网格中的某个值,以确定该行是否应该可见。基本上,在后端代码中创建一个函数,该函数检索该行的数据,解析它,然后如果应该显示按钮则返回“Visible”,如果不显示则返回“隐藏”。
答案 1 :(得分:0)
试试这个:
XAML属性用法
dataGridColumn Visibility="Visible"/>
dataGridColumn Visibility="Collapsed"/>
private void cbHideColumn_Changed(object sender, RoutedEventArgs e)
{
CheckBox cb = sender as CheckBox;
if (this.dataGrid1 != null)
{
if (cb.IsChecked == true)
this.dataGrid1.Columns[0].Visibility = Visibility.Collapsed;
else if (cb.IsChecked == false)
this.dataGrid1.Columns[0].Visibility = Visibility.Visible;
}
}