Data binding WP7更新透视控件标题

Data binding WP7更新透视控件标题,data-binding,pivot,windows-phone,Data Binding,Pivot,Windows Phone,我在XAML中使用了一个Pivot控件,如下所示。 我已将Pivot标题绑定到视图模型上的一个方法,因为它的内容将根据所显示的内容而有所不同 <controls:Pivot x:Name="MainPivot" ItemsSource="{Binding PivotItemHeaders}" Title="{Binding ApplicationTitle}" > <controls:Pivot.HeaderTemplate>

我在XAML中使用了一个Pivot控件,如下所示。 我已将Pivot标题绑定到视图模型上的一个方法,因为它的内容将根据所显示的内容而有所不同

 <controls:Pivot x:Name="MainPivot" ItemsSource="{Binding PivotItemHeaders}" Title="{Binding ApplicationTitle}"  >
        <controls:Pivot.HeaderTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Description}"/>
            </DataTemplate>
        </controls:Pivot.HeaderTemplate>
        <controls:Pivot.ItemTemplate>
            <DataTemplate>
                <ListBox x:Name="EventsListbox"
                         ItemsSource="{Binding allEventItems}"
                         ItemTemplate="{StaticResource EventDisplay3}"
                         SelectionChanged="EventsListbox_SelectionChanged"/>
            </DataTemplate>
        </controls:Pivot.ItemTemplate>
    </controls:Pivot>

项目集合正在刷新,这些对象的绑定工作正常-但是透视标题没有使用新值刷新。 它似乎停留在第一次显示页面/透视控件时的值


有没有办法让pivot控件刷新谢谢

我刚刚做了一个快速测试,绑定工作正常:

<controls:Pivot Title="MY APPLICATION" ItemsSource="{Binding Items}">
    <controls:Pivot.HeaderTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding LineOne}" />
        </DataTemplate>
    </controls:Pivot.HeaderTemplate>
    <controls:Pivot.ItemTemplate>
        <DataTemplate>
            <Grid>      
                <Button Content="Update" Click="Button_Click" />
            </Grid>
        </DataTemplate>
    </controls:Pivot.ItemTemplate>
</controls:Pivot>
很明显你做错了什么。发布你的代码,我们来看看

更新

标题绑定也起作用

XAML


我刚刚做了一个快速测试,绑定效果很好:

<controls:Pivot Title="MY APPLICATION" ItemsSource="{Binding Items}">
    <controls:Pivot.HeaderTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding LineOne}" />
        </DataTemplate>
    </controls:Pivot.HeaderTemplate>
    <controls:Pivot.ItemTemplate>
        <DataTemplate>
            <Grid>      
                <Button Content="Update" Click="Button_Click" />
            </Grid>
        </DataTemplate>
    </controls:Pivot.ItemTemplate>
</controls:Pivot>
很明显你做错了什么。发布你的代码,我们来看看

更新

标题绑定也起作用

XAML


我假设您的意思是将透视标题绑定到viewmodel上的属性,而不是方法。是。。抱歉-你说得很对。我想你的意思是将透视标题绑定到viewmodel上的属性,而不是方法。是。。抱歉-你说得很对。您好,我对pivot控件内容的绑定工作正常-这只是pivot控件的标题,它也是绑定的,没有按照我希望的那样工作。但是正如您所看到的,我也绑定了标题,它工作得很好。同样,您的代码有问题。你应该发布你绑定的viewmodel,这样我们可以看一看。嗨,克劳斯,我会发布viewmodel代码…但是我没有看到你的标题有任何绑定?我可以看到它设置为“我的应用程序”,而不是被绑定。这是我试图操纵的字段-透视项标题工作正常。哦!很抱歉这里的混乱。但是,无论如何,绑定应该仍然有效。再说一次,我猜你没有通知viewmodel标题属性正在更新。嗨,克劳斯-谢谢你坚持我的观点。。。是的,您的猜测非常正确-没有在viewmodel中提高正确性。它现在工作正常。嗨,我对pivot控件内容的绑定工作正常-这只是pivot控件的标题,它也被绑定了,这不是我想要的。但是正如你所看到的,我也绑定了标题,它工作得很好。同样,您的代码有问题。你应该发布你绑定的viewmodel,这样我们可以看一看。嗨,克劳斯,我会发布viewmodel代码…但是我没有看到你的标题有任何绑定?我可以看到它设置为“我的应用程序”,而不是被绑定。这是我试图操纵的字段-透视项标题工作正常。哦!很抱歉这里的混乱。但是,无论如何,绑定应该仍然有效。再说一次,我猜你没有通知viewmodel标题属性正在更新。嗨,克劳斯-谢谢你坚持我的观点。。。是的,您的猜测非常正确-没有在viewmodel中提高正确性。现在很好用。
<controls:Pivot Title="{Binding Title}">
    <controls:PivotItem Header="first">
        <Grid>
            <Button Click="Button_Click" Content="OK!" />
        </Grid>
    </controls:PivotItem>
</controls:Pivot>
private void Button_Click(object sender, RoutedEventArgs e)
{
    Title = "foobar!";
    PropertyChanged(this, new PropertyChangedEventArgs("Title"));
}