2016-03-01 95 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?