Datagrid中的按钮

时间:2012-07-30 15:08:53

标签: c# wpf xaml datagrid wpfdatagrid

我在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>

2 个答案:

答案 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;
       }
   }