在代码隐藏中的DataGrid WPF中的每一行上添加按钮

时间:2015-06-29 07:02:04

标签: wpf vb.net datagrid

我动态添加数据网格列

Dim oName_Binding As Binding = New Binding("Order_Name")
oName_Binding.Mode = BindingMode.TwoWay
oName_Binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged

Dim dgcombo As DataGridComboBoxColumn = New DataGridComboBoxColumn()
dgcombo.Header = "Order"
dgcombo.ItemsSource = lstOrder
dgcombo.TextBinding = oName_Binding
dgcombo.DisplayMemberPath = "Order_Name"
dgcombo.SelectedValuePath = "Order_ID"
dgv.Columns.Add(dgcombo)

我想在每一行上添加按钮。请建议我......

1 个答案:

答案 0 :(得分:0)

将单元格模板分配给dgcombo列。 在该模板中,您可以添加所需的任何控件。 您可以在xaml或后面的代码中定义单元格模板。

dgcombo.CellTemplate = getDataTemplate(); // template from code behind

private static DataTemplate getDataTemplate()
{
    DataTemplate template = new DataTemplate();
    FrameworkElementFactory factory = new FrameworkElementFactory(typeof(Button));
    factory.SetValue(Button.HorizontalAlignmentProperty, HorizontalAlignmentProperty.Right);
    template.VisualTree = factory;

    return template;
}

如果您已在xaml中定义了模板,那么您只需使用FrameworkElement.FindResource方法将模板置于代码后面,然后就可以分配相同的模板。