多个Usercontrols略有不同

时间:2013-03-26 21:00:50

标签: c# wpf datagrid user-controls readonly-attribute

我正在使用三个具有数据网格的UserControls。其中一个UserControl's DataGrid需要将列只读属性设置为True

是的,我在InitializeComponent()之后执行此操作:

v_uc1.v_datagrid.Columns[1].IsReadOnly = true;

有更清洁的方法(XAML)吗?

2 个答案:

答案 0 :(得分:1)

您只能使用一个显示它们之间差异的属性创建一个UserControl,例如

public class MyUserControl
....

public bool IsColumn1ReadOnly{
    get{ return v_uc1.v_datagrid.Columns[1].IsReadOnly;}
    set {return v_uc1.v_datagrid.Columns[1].IsReadOnly = value;}
}

然后在XAML中你将像这样实例化控件:

<my:MyUserControl IsColumn1ReadOnly="True"/>
<my:MyUserControl IsColumn1ReadOnly="False"/>

答案 1 :(得分:0)

如果要将数据网格列设置为仅在xaml中读取,请执行以下操作

 <DataGridTextColumn  IsReadOnly="True"/>