Silverlight:为什么这个绑定表达式不起作用?

时间:2010-12-29 18:48:33

标签: c# silverlight windows-phone-7

对于Windows Phone 7,我在Silverlight 3中遇到绑定表达式时遇到了问题。

<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 个答案:

答案 0 :(得分:1)

尝试{Binding NoStoryContent}

答案 1 :(得分:0)

您应该在班级中实施iNotifyPropertyChanged