Silverlight: Почему не работает это обязательное выражение? - PullRequest
2 голосов
/ 29 декабря 2010

У меня возникают проблемы с выражением привязки в Silverlight 3 для Windows Phone 7.

<Grid x:Name="LayoutRoot" Background="Transparent">    
    <controls:Pivot ItemsSource="{Binding SectionViewModels}">
    <!-- ... -->
    <controls:Pivot.ItemTemplate>
        <DataTemplate>
            <Grid>
                <!-- this is the troublesome binding (for Visibility) -->
                <TextBlock Style="{StaticResource disabledText}" 
                           Visibility="{Binding ElementName=LayoutRoot, Path=DataContext.NoStoryContent}">
                    Do you have a network connection?
                </TextBlock>
                <!-- ... -->

Стиль в app.xaml :

<Style x:Key="disabledText" TargetType="TextBlock">
    <Setter Property="Foreground" Value="{StaticResource PhoneDisabledBrush}" />
    <Setter Property="TextWrapping" Value="Wrap" />
    <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeLarge}" />
</Style>

Код:

public Visibility NoStoryContent
{
    get
    {
        // trivial return value for debugging
        // no breakpoint here is hit
        return Visibility.Collapsed;
    }
}

public Sections()
{
    InitializeComponent();
    LayoutRoot.DataContext = this;
}

Что я здесь не так делаю?Я подозреваю, что у меня есть ошибка в выражении привязки, но я не уверен, где.

Обновление : я не вижу сообщений об ошибках в выходных данных отладки.

Обновление 2 : когда я говорю «не работает», я имею в виду «элемент управления всегда видим, даже если я пытаюсь сделать его свернутым, а свойство, к которому привязана его видимость»никогда не доступен. '

Ответы [ 2 ]

1 голос
/ 29 декабря 2010

попробуйте просто {Binding NoStoryContent}

0 голосов
/ 29 декабря 2010

Вы должны реализовать iNotifyPropertyChanged в своем классе

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