2011-07-26 5 views
2

XAML内で以下のように使用しているピボットコントロールがあります。 ピボット・タイトルは、表示されている内容によってコンテンツが異なるため、ビュー・モデルのメソッドにバインドしました。WP7ピボットコントロールのタイトルを更新する

<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> 

は、項目のコレクションがリフレッシュされ、これらのオブジェクトのために正常に動作してバインディング - ピボットのタイトルは、新しい値でリフレッシュされていませんが。 ページ/ピボットコントロールが最初に表示されたときに値に固執しているようです。

どのようにピボットコントロールをリフレッシュすることができますか? - おかげ

+0

をあなたのビューモデル、方法ではありません。 –

+0

はい..申し訳ありません - あなたは大丈夫です。 – Peter

答えて

0

私は、簡単なテストをしただけで正常に動作を結合:

<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> 

をので、はっきりとあなたは非常に間違って何かをやっているC#

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    App.ViewModel.Items.Clear(); 
    App.ViewModel.Items.Add(new ItemViewModel() { LineOne = "foo" }); 
    App.ViewModel.Items.Add(new ItemViewModel() { LineOne = "bar" }); 
    App.ViewModel.Items.Add(new ItemViewModel() { LineOne = "baz" }); 
} 

インチあなたのコードを投稿してください。

更新

タイトルも

XAML

<controls:Pivot Title="{Binding Title}"> 
    <controls:PivotItem Header="first"> 
     <Grid> 
      <Button Click="Button_Click" Content="OK!" /> 
     </Grid> 
    </controls:PivotItem> 
</controls:Pivot> 

C#の作品結合:私はあなたが財産上にピボットタイトルを結合している意味と仮定し

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    Title = "foobar!"; 
    PropertyChanged(this, new PropertyChangedEventArgs("Title")); 
} 
+0

こんにちは私のピボットコントロールの内容のバインディングは正常に動作しています - ピボットコントロールのタイトルだけであり、それは私が望むように動作していないバインドされています。 – Peter

+0

ご覧のとおり、私はタイトルも縛っていますが、これは非常にうまくいきます。もう一度、あなたのコードに何か問題があります。バインディングしているビューモデルを投稿する必要があります。 –

+0

こんにちはクラウス私はviewmodelコードを投稿します...しかし、私はあなたのタイトルのための任意のバインディングを参照してください?私は縛られているのではなく、 "MY APPLICATION"のセットを見ることができます。これは私が操作しようとしているフィールドです - ピボットアイテムのヘッダーが正常に動作しています。 – Peter

関連する問題