我已经像这样创建了一个WPF readonly DP
private static readonly DependencyPropertyKey IsFalsePropertyKey =
DependencyProperty.RegisterReadOnly("IsFalse", typeof(bool), typeof(FlightDeckBoolExpressionConverter),
new PropertyMetadata(false));
public static readonly DependencyProperty IsFalseProperty = IsFalsePropertyKey.DependencyProperty;
[Bindable(true), Browsable(true), Category("Common Properties"), Description("The result of the expression")]
public bool IsFalse {
get { return (bool)GetValue(IsFalseProperty); }
private set { SetValue(IsFalsePropertyKey, value); }
}
我的问题是,即使属性是只读的,控件的用户仍然可以在编辑器中设置它,如下图所示(即使你得到编译时错误)
这似乎只发生在布尔属性的情况下。例如,double
属性的输入字段将不可编辑。
我还尝试使用attribute将该属性标记为只读,但这似乎没有效果。
我是否有办法在属性窗口中只读取此bool属性的DP?