2016-10-20 12 views
0

XAMLのImageプロパティにバインドできた画像があります。問題は、ビューをポップアップ表示したときにその画像を表示しないようにすることです。私のボタンをもう一度クリックしてくださいこれまでmビューモデルを持っています:MVVM Xamarinフォームを使用して画像の可視性を処理する方法

プライベート文字列imageSource;私BindingContextプロパティのisVisibleで

public string ImageSource 
{ 
    get { return imageSource; } 
    set { imageSource = value; Notify("ImageSource"); } 
} 
public bool State { get { return false; }} 


private Image visibleImage; 

public Image VisibleImage 
{ 
    get { return new Image {IsVisible = State,Source = ImageSource }; } 
    set { visibleImage = value; Notify("VisibleImage"); Notify("State"); } 
} 

falseとして設定されていますが、動作しません!

答えて

3

ビューモデルでImage参照を保持しないようにすることで、サンプルを簡略化できます。 XAMLで

private boolean _state; 
public boolean State { 
    get { return _state; } 
    set { _state = value; Notify("State"); } 
} 

は、そのソース及び視認性結合とImageを宣言:そのようなあなたのStateフラグ修正ビューモデルの初期化時に

<Image Source="{Binding ImageSource}" IsVisible="{Binding State}" /> 

falseStateを設定します。ボタンをクリックすると、フラグがtrueに設定され、画像が表示されます。

+0

ありがとうございました! –

関連する問題