Динамическое изменение видимости элемента управления из модели представления в WP7 - PullRequest
0 голосов
/ 19 марта 2012

Я создаю приложение, которое имеет бесконечную прокрутку, показывая свои результаты.Я хочу разместить текстовый блок с сообщением о загрузке внизу, если данные не загружаются к тому времени, когда пользователь прокручивает страницу вниз.В свойстве видимости текстового блока я сделал следующее:

    Visibility="{Binding IsLoading, Converter={StaticResource visibilityConverter}}"

И конвертер видимости:

public class VisibilityConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter,
                          CultureInfo culture)
    {
        return bool.Parse(value.ToString()) ? Visibility.Visible : Visibility.Collapsed;
    }

    public object ConvertBack(object value, Type targetType, object parameter,
                              CultureInfo culture)
    {
        return DependencyProperty.UnsetValue;
    }

}

Я хочу изменить видимость, сказав

App.ViewModel.IsLoading = true;// or false

Но видимость меняется только при загрузке страницы, только один раз, а не при изменении ViewModel.Я делаю что-то неправильно или это не так?

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

2 вещи:

  1. Вы можете использовать BooleanToVisibilityConverter по умолчанию. Смотри http://msdn.microsoft.com/en-us/library/system.windows.controls.booleantovisibilityconverter.aspx

  2. Убедитесь, что вы подняли NotfiyPropertyChanged в установщике свойств IsLoading.

1 голос
/ 19 марта 2012

Пожалуйста, проверьте, NotifyPropertyChanged реализовано и поднято для

App.ViewModel.IsLoading.

Вы можете обратиться по этой ссылке для проверки Как: реализовать интерфейс INotifyPropertyChanged

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...