我有我的习惯工具,对依赖性财产进行控制IsBusy
。
Here is how I use it:
<Controls:myToolbar
Grid.ColumnSpan="5" Mode="DataEntry"
Status="{Binding State, Converter={StaticResource ViewEditingStateToToolbarStateConverter}}"
IsBusy="{Binding IsBusy}"/>
By convention all my VM s inherit from base VM and have IsBusy property. So, I KNOW that this property will always be available on VM.
现在我还有4个这样的财产。 我不想在XAML中添加这些内容,而是想知道如何对这一条加以约束?
EDIT
实际上,我对我的回答是:。 银根:具有方案约束性的控制特性
现在,我的问题是:
在类似情况下适用这种约束力是否正确?
public myToolbar()
{
this.DefaultStyleKey = typeof(myToolbar);
var binding = new Binding("IsBusy") { Mode = BindingMode.TwoWay };
this.SetBinding(IsBusyProperty, binding);
}
我是否应当检查一下,XAML是否对这一财产有约束力(另一个约束性)? 这种做法是行不通的,但我不知道它是否对业绩、影响等造成坏错?
http://code>onApplyTemplate。 这是否更好?
if (GetBindingExpression(IsBusyProperty) == null)
{
var binding = new Binding("IsBusy") { Mode = BindingMode.TwoWay };
this.SetBinding(IsBusyProperty, binding);
}