2014-10-22 3 views
0

임 MVVM 패턴을 적용하고 난 다음 내 피벗의 ItemsSource를 설정 데이터 내 ViewModel을 만들 때 :PivotItem 헤더 스타일

<Pivot ItemsSource="{Binding DataContext}" x:Name="TripsSegmentsPivot" Title=" " Foreground="#FF888888" Style="{StaticResource PivotStyle1}" SelectionChanged="Pivot_SelectionChanged" Margin="0" Grid.Row="1"/> 

을하지만 내 피벗 항목이 원하는 이

<PivotItem.Header> 
    <TextBlock Margin="0, 16, 0, 0" Text="settings" Foreground="#FF888888" FontSize="32" FontFamily="Segoe WP" FontWeight="Light"/> 
</PivotItem.Header> 

같은 스타일을 가지고있는 헤더는 어디 XAML에서이 설정, 또는 코드 숨김 마지막 경우에 정확히 어디에 어떻게 든 뷰 모델에서?

이 내 피벗 XAML은에서 MainPage.xaml에서 같은 모습입니다 : MainPage.xaml.cs를에서

<Pivot ItemsSource="{Binding DataContext}" x:Name="TripsSegmentsPivot" Title=" " Foreground="#FF888888" Style="{StaticResource PivotStyle1}" SelectionChanged="Pivot_SelectionChanged" Margin="0" Grid.Row="1"> 
     <Pivot.ItemTemplate> 
      <DataTemplate> 
       <PivotItem Margin="8,8,8,0"> 
        <PivotItem.Header> 
         <TextBlock Margin="0, 16, 0, 0" Text="{Binding S}" Foreground="#FF888888" FontSize="32" FontFamily="Segoe WP" FontWeight="Light"/> 
        </PivotItem.Header> 
       </PivotItem> 
      </DataTemplate> 
     </Pivot.ItemTemplate> 
    </Pivot> 

내가

this.DataContext = new MyPageViewModel(); 

var viewModel = (MyPageViewModel)this.DataContext; 

if (true == viewModel.LoadDataCommand.CanExecute(null)) 
{ 
    viewModel.LoadDataCommand.Execute(null); 
} 

하지만 아무 반응이 없다가 ..

답변

0

VG,

나는 문제의 근본 원인이 귀하의 XAML DataTemplate 안에 PivotItem을 포함합니다. 간단히 말하면, 그렇게하지 마십시오. :) 귀하의 문제를 해결할 수 있도록 귀하가 제작하는 동일한 응용 프로그램의 내용입니다.

PivotItems do not resize after binding에 대한 내 대답을보고 내가 설명한 내용을 XAML로 리팩터링하십시오. 헤더 바인딩에 문제가 계속 발생하면 메시지를 보내주십시오. 여기로 돌아와서 문제를 해결할 수 있도록 도와 드리겠습니다.