我应用MVVM模式,当我为数据创建ViewModel时,我按如下方式设置了pivot的ItemsSource:
<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中设置这个,或者在代码隐藏中,如果是最后一个,那么ViewModel中的确切位置是什么?
这就是我的Pivot xaml在MainPage.xaml中的样子:
<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>
在MainPage.xaml.cs中我有
this.DataContext = new MyPageViewModel();
var viewModel = (MyPageViewModel)this.DataContext;
if (true == viewModel.LoadDataCommand.CanExecute(null))
{
viewModel.LoadDataCommand.Execute(null);
}
但没有任何反应......
答案 0 :(得分:0)
V.G。,
我回答了另一个问题,其中问题的根本原因是您的XAML在PivotItem
内包含DataTemplate
的方式。简单地说,不要这样做。 :)
这是来自您正在构建的同一个应用程序,因此它可能会解决您的问题。
看看我对PivotItems do not resize after binding的回答,并根据我的描述重构你的XAML。如果你仍然遇到标题绑定的问题,请给我发一条消息,我会回到这里帮你修复它。