2017-05-23 6 views
0

xamarinの形を使用して& PCL。ビヘイビアを使用してxamarinフォームでピッカーを検証する方法は?

ユーザーがピッカーから項目を選択したことを確認するために、ビヘイビアを使用してピッカーを検証する必要があります。

私の振る舞いクラスは

public class PickerValidationBehaviour :Behavior<Picker> 
{ 
    private Picker _associatedObject; 
    public string PropertyName { get; set; } 

    protected override void OnAttachedTo(Picker bindable) 
    { 
     base.OnAttachedTo(bindable); 
     _associatedObject = bindable; 
     if (_associatedObject.SelectedIndex < 0) 
     { 
      HandleValidation(); 
     } 
    } 

    private void HandleValidation() 
    { 

    } 

    private void _associatedObject_SelectedIndexChanged(object sender, EventArgs e) 
    { 

    } 
    protected override void OnDetachingFrom(Picker bindable) 
    { 
     base.OnDetachingFrom(bindable); 
     _associatedObject = null; 
    } 
} 
} 

であると私は、ユーザーがフォームを埋めるまで、送信ボタンが非表示になるように、ユーザーアクションの前に検証を実行したいので、私は立ち往生しました。

と私が検証を行うことができる簡単な効率的な方法がある場合は、横にそれを言及してください。

答えて

0

私はこのシナリオでは、動作を使用する代わりにロジックをVMに入れるべきだと思います。

原因は、色のようなUI要素を変更することがあります。そのほとんどは要素自体のプロパティです。

あなたの場合、ページ内の別の要素を変更したいとします。ページ内の別の要素にアクセスする方法に問題があります。

VMでSelectedIndexをバインドし、プロパティが変更された場合は、送信ボタンを制御する別のプロパティを呼び出すことができます。それはより簡単になり、その後行動します。

関連する問題