2011-07-26 7 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

안녕하세요 Claus 나는 viewmodel 코드를 게시 할 예정입니다 ...하지만 제목에 어떤 바인딩이 보이지 않습니까? 바인딩되기보다는 "MY APPLICATION"으로 설정된 것을 볼 수 있습니다. 이것은 조작하려는 필드입니다. 피벗 항목 헤더가 올바르게 작동하고 있습니다. – Peter

관련 문제