2
我試着寫與MAX-和MIN-值的簡單行爲,在一定範圍內驗證輸入的值:行爲 - 視圖模型綁定
<Entry Text="{Binding Quantity, Mode=TwoWay}">
<Entry.Behaviors>
<ui:ValueInRangeValidator x:Name="QtyValidator" MinValue="1" MaxValue="10"/>
</Entry.Behaviors>
</Entry>
這工作得很好,但嘗試添加綁定時例如。 MaxValue="{Binding MaxVal}"
該值爲默認值。
我用我的行爲如下:
public static BindableProperty MaxValueProperty =
BindableProperty.Create("MaxValue", typeof(decimal?), typeof(ValueInRangeValidator));
public decimal? MaxValue
{
get { return (decimal?)GetValue(MaxValueProperty); }
set
{
SetValue(MaxValueProperty, value);
OnPropertyChanged();
}
}
我也試着設置在BindableProperty屬性更改事件,但它似乎永遠不會開火。我知道viewmodel是正確的,因爲將同一個屬性綁定到標籤可以顯示值。
我加了名字到父視圖,而不是,因爲這意味着我不需要重新綁定或命名該項控制,並使得整個訪問查看萬一您需要在多個地方使用它。 感謝您的幫助! –