2016-03-01 93 views
0

我有一个名为IGrid的数据网格的用户控件。我想为它添加GridViewColumnCollection属性。为WPF用户控件datagrid创建属性

public class DataGridNumericColumn : DataGridTextColumn 
{ 
    protected override object PrepareCellForEdit(System.Windows.FrameworkElement editingElement, System.Windows.RoutedEventArgs editingEventArgs) 
    { 
     TextBox edit = editingElement as TextBox; 
     edit.PreviewTextInput += OnPreviewTextInput; 
     return base.PrepareCellForEdit(editingElement, editingEventArgs); 
    } 
    void OnPreviewTextInput(object sender, System.Windows.Input.TextCompositionEventArgs e) 
    { 
     try 
     { 
      Convert.ToInt32(e.Text); 
     } 
     catch 
     { 
      e.Handled = true; 
     } 
    } 
} 

从谷歌我有一段代码`

private Collection<DataGridColumn> field = new Collection<DataGridColumn>(); 
[Category("Data")] 
[Description("Column Creation")]      
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 
public Collection<DataGridColumn> Columns 
{ 
    get { return field; } 
} 

在这里,我可以在可视树得到GridViewColumnCollection, 我的问题是如何使用集合中添加一个新的类型(DataGridNumericColumn)以上代码。

enter image description here

+0

请任何一个响应 – babucr

回答

0

如果你不知道代码做什么,它可能是最好尝试使用它,或者拿出自己的解决方案之前,研究它。据我所知,你正试图添加一个附加属性到继承DataGrid的UserControl。

你有两个选择:

  1. 创建的DependencyProperty(最好的选择,在我看来)。
  2. 创建一个正常的财产

这里有几个链接,以帮助您入门:

What is the difference between Property and Dependency Property

When should I use dependency properties in WPF?