我的ViewModel上有一个属性,我需要绑定到我的行为中的BindableProperty,但我似乎无法将其绑定。
private int _test;
public int Test {
get {
return _test;
}
set {
if (SetProperty (ref _test, value)) {
_profileIsDirty = true;
NotifyPropertyChanged ("AllowUpdate");
}
}
}
这是行为中的属性
public static readonly BindableProperty MinLengthProperty = BindableProperty.Create("MinLength", typeof(int), typeof(MinLengthValidator), 0);
public int MinLength
{
get { return (int)GetValue(MinLengthProperty); }
set { SetValue(MinLengthProperty, value); }
}
这是ViewModel上的属性,这就是我尝试在XAML中绑定它的方式
<behave:TelephoneNumberValidatorBehaviour x:Name="phoneValidator" MinLength="{Binding Test, Mode=OneWay}"/>
但它永远不会结合。我在这里做错了吗?
答案 0 :(得分:0)
您是否尝试将NotifyPropertyChanged的值更改为&#34;测试&#34;而不是&#34; AllowUpdate&#34;?否则,永远不会通知UI该值已更改为Test。相反,它会引发AllowUpdate属性已更改的值,这在ViewModel中不存在。
答案 1 :(得分:0)
BindableProperty.Create的第三个参数应该是定义BindableProperty的类的类型。根据您的样本,我猜它应该是typeof(TelephoneNumberValidatorBehaviour)
而不是 typeof(MinLengthValidator)