Привязка данных к Панорамному контролю в WP7 не работает - PullRequest
1 голос
/ 04 ноября 2011

Может кто-нибудь пролить свет на то, почему следующий код не работает? Под «не работает» я подразумеваю, что изображение не отображается в элементе управления Panorama:

XAML

DataContext="{Binding RelativeSource={RelativeSource Self}}"
shell:SystemTray.IsVisible="False">

<Grid x:Name="LayoutRoot">
    <controls:Panorama Title="My Control">
        <controls:Panorama.Background>
            <ImageBrush ImageSource="{Binding RandomImage}"/>
        </controls:Panorama.Background>

C #

public string RandomImage { get; set; }

Примечание: Для свойства RandomImage установлено общедоступное изображение jpg в Интернете.

EDIT

Я также пытался изменить свойство RandomImage на ImageSource, но мне не повезло с этим.

1 Ответ

1 голос
/ 04 ноября 2011

Я рискну предположить, что вы устанавливаете RandomImage в какой-то момент после загрузки страницы, что означает, что привязка уже проверена.Вам нужно реализовать INotifyPropertyChanged и вызвать ваше PropertyChanged событие в установщике для RandomImage.Чтобы получить подробное объяснение этого, ознакомьтесь с этой статьей MSDN .

Суть в том, что привязка проверяется при загрузке страницы, а затем снова, если что-то не вызывает ее.Реализация INotifyPropertyChanged означает, что когда вы вызываете событие PropertyChanged, он уведомляет пользовательский интерфейс, чтобы снова проверить привязку и посмотреть, что нового, чтобы он мог обновиться сам.

...