我有一个自定义 WPF 控件(使用 UserControl 作为基础),它公开了可绑定的属性(使用 DependencyProperty)。当属性之一是单向绑定时,我想禁用此控件中的编辑。
public partial class OnOffControl : UserControl
{
...
public static readonly DependencyProperty IsCheckedProperty =
DependencyProperty.Register(
"IsChecked",
typeof(bool?),
typeof(OnOffControl),
...
public bool? IsChecked
{
get
{
return (bool?)GetValue(IsCheckedProperty);
}
set
{
SetValue(IsCheckedProperty, value);
}
}
使用点
<DataGridTemplateColumn Width="40" Header="State">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<UIUtil:OnOffControl
IndicatorType="SwitchIndicator"
IsChecked="{Binding Value, Mode=OneWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
因此,当 IsChecked 是单向绑定时,我想禁用 OnOffControl 中的编辑。如何检测控件内部的属性绑定是 OneWay 然后禁用编辑?