我正在使用 MVVMLight,我创建了标准视图和视图模型。在视图中,我放置了 Pivot:
<Grid x:Name="LayoutRoot" Background="Transparent">
<controls:Pivot Title="MY APPLICATION">
<local:FirstPivotItem />
<local:SecondPivotItem />
</controls:Pivot>
</Grid>
我的 Pivot 项目如下所示:
<controls:PivotItem x:Class="Pivot.WindowsPhoneControl1"
xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls"
// standard references and settings
d:DesignHeight="480" d:DesignWidth="480" Header="First One">
<Grid x:Name="LayoutRoot">
</Grid>
</controls:PivotItem>
在代码隐藏中
public partial class WindowsPhoneControl1 : PivotItem
{
public WindowsPhoneControl1() {
InitializeComponent();
}
}
我想为这个数据透视项目创建视图模型,然后像使用标准视图一样使用它。我会用
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<mvvm:EventToCommand Command="{Binding PivotChangedCommand}" PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
处理选择更改事件,而不是通过 Messanger 通知适当的视图模型。我不知道如何在 Pivot Item 类中使用 viewmodel 的可能性,它是从 PivotItem 继承的,但不是从 ViewModelBase 继承的,因为我需要。