【发布时间】:2016-06-14 06:16:51
【问题描述】:
我有一个带有名为 IGrid 的数据网格的用户控件。我想为它添加 GridViewColumnCollection 属性。
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)。
【问题讨论】:
-
请任何人回复
标签: wpf user-controls