2017-05-23 32 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,當屬性發生改變時,你可以引發另一個控制submit按鈕的屬性。那麼在行爲上做起來會容易一些。

相關問題