Я пытаюсь связать видимость сетки, но не могу этого сделать.Видимость привязки к сетке не работает
//ViewModel Class
private Visibility _isVisiblePane = Visibility.Hidden;
public Visibility isVisiblePane {
get
{
return _isVisiblePane;
}
set
{
_isVisiblePane = value;
RaisePropertyChanged(() => "isVisiblePane");
}
}
//xaml code
<Grid Visibility="{Binding Path=isVisiblePane}">
....My Content....
</Grid>
Во время отладки программа устанавливает значение скрыто, но когда я изменить видимость _isVisiblePane, не обновляет видимость в GUI (сетка остается скрытой, а значение _isVisiblePane видно).
//in some function => on button click, value of _isVisiblePane updates to Visible but grid remains hidden.
isVisiblePane = isLastActiveDoc() == true ? Visibility.Visible : Visibility.Hidden;
Ошибка! на линии RaisePropertyChanged ("isVisiblePane"). кажется, что нет никакой собственности с этим именем «Исключение типа„System.ArgumentException“произошло в GalaSoft.MvvmLight.dll, но не был обработан в пользовательском коде»
PS: Я попробовал IValueConverter метод с BOOL тоже. и все еще не выясняя, в чем проблема. Любая помощь?
Да, я обновляя isVisiblePane –
Вам нужно set Binding element или data context. Таким образом измените Visibility = {Binding Path = isVisiblePane, Source = ViewModel}. Кроме того, убедитесь, что ваш класс реализует INotifyProperyChanged interace или переводит свойство в DependencyProperty, если это класс интерфейса. –
Вы видите какие-либо красные ошибки привязки в окне вывода при запуске приложения? –