2015-07-06 100 views
0

我有我的ViewModel屬性,我需要綁定到我的行爲BindableProperty,但我似乎無法讓它綁定。從ViewModel綁定到行爲

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); } 
    } 

這是在視圖模型的財產,這是我正在試圖綁定到它在XAML

<behave:TelephoneNumberValidatorBehaviour x:Name="phoneValidator" MinLength="{Binding Test, Mode=OneWay}"/> 

但永不結合。我在這裏做錯了什麼?

回答

0

您是否嘗試將NotifyPropertyChanged的值更改爲「Test」而不是「AllowUpdate」?否則UI永遠不會被通知該值已經改變了Test。相反,它會引發AllowUpdate屬性發生更改的值,這在ViewModel中不存在。

+0

是的,我有,在SetProperty方法中有一個內置的通知,所以它不是不幸的。 –

0

BindableProperty.Create的第三個參數應該是BindableProperty定義的類的類型。根據你的樣本,我猜它應該是typeof(TelephoneNumberValidatorBehaviour)而不是 typeof(MinLengthValidator)