2016-10-20 3 views
0

У меня есть изображение, которое я смог связать с моим свойством Image на XAML, проблема в том, что когда я открываю свой вид, я хочу, чтобы это изображение оставалось невидимым, а затем, когда o нажмите мою кнопку снова, пока я получил это в m ViewModel:Как обрабатывать видимость изображения с использованием MVVM Xamarin Forms

частная строка imageSource;

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

В моей BindingContext собственности IsVisible устанавливается как ложь, но не работает!

ответ

3

Вы можете упростить выборку, не удержавшись от ссылки Image в модели просмотра вообще. Измените State флаг так:

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

В XAML объявить Image с его источником и видимости переплетом

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

После инициализации модели представления установите ваш State в false. Затем щелчок кнопки должен установить флаг на true, чтобы сделать изображение видимым.

+0

Спасибо, это работает! –

Смежные вопросы