我在 WPF 中有一个 DataGrid
。在绑定(bind)到特定的 ItemsSource
后,我尝试将 Button
添加到网格的某些单元格。我尝试在 xaml 中执行此操作,如下所示:
<dg:DataGridTemplateColumn x:Name="R1" CanUserReorder="False" IsReadOnly="False">
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<awc:ImageButton Content="Edit" Name="btnEdit" Visibility="Collapsed"/>
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
但是,我想知道如何在后面的代码中做到这一点。我需要这个,以便我可以在发生特定点击时放置 Button
。任何帮助将不胜感激。
最佳答案
使用这个:
DataGridTemplateColumn col1 = new DataGridTemplateColumn();
col1.Header = "MyHeader";
FrameworkElementFactory factory1 = new FrameworkElementFactory(typeof(CheckBox));
Binding b1 = new Binding("IsSelected");
b1.Mode = BindingMode.TwoWay;
factory1.SetValue(CheckBox.IsCheckedProperty, b1);
factory1.AddHandler(CheckBox.CheckedEvent, new RoutedEventHandler(chkSelect_Checked));
DataTemplate cellTemplate1 = new DataTemplate();
cellTemplate1.VisualTree = factory1;
col1.CellTemplate = cellTemplate1;
dgTransportReqsts.DataGrid.Columns.Add(col1);
我使用它在运行时在我的 DataGridTemplateColumn 中添加复选框。 希望这有帮助!!
关于wpf - datagridtemplatecolumn 背后的代码是什么,以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1754608/