Xaml 使用具有视图的数据透视项透视UWP
以获得清晰的视野。 我将MvvMCross与UWP一起使用 父模型Xaml 使用具有视图的数据透视项透视UWP,xaml,xamarin,uwp,mvvmcross,uwp-xaml,Xaml,Xamarin,Uwp,Mvvmcross,Uwp Xaml,以获得清晰的视野。 我将MvvMCross与UWP一起使用 父模型 public class TabHost : MvxViewModel { private IList<TabPage> _tabPages; public IList<TabPage> TabPages { get { return _tabPages; } set { _tabPages = value;
public class TabHost : MvxViewModel
{
private IList<TabPage> _tabPages;
public IList<TabPage> TabPages
{
get { return _tabPages; }
set
{
_tabPages = value;
RaisePropertyChanged(() => TabPages);
}
}
}
我创建了一个名为TabControl的Pivot覆盖,因此我的xaml如下:
<controls:TabControl x:Name="TabHostControl" ItemsSource="{Binding TabPages}">
<controls:TabControl.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" Foreground="White"/>
</DataTemplate>
</controls:TabControl.HeaderTemplate>
<controls:TabControl.ItemTemplate>
<DataTemplate>
<Frame x:Name="ViewToLoad" />
</DataTemplate>
</controls:TabControl.ItemTemplate>
</controls:TabControl>
正确显示了带有标题的选项卡页。但是,我希望视图的内容加载到数据透视项中
- 我在渲染时尝试在每个项目中导航到视图,但是 没用
- 还尝试(在渲染时)设置内容。我能够创造 查看并绑定ViewModel,但在设置内容时,仅会 显示对象的名称,而不是xaml控件的名称
- 并尝试使用UserControls,但每个视图都有自己的上下文,因此根本不起作用
或者通过dataitem模板的格式推送内容?为什么要使用框架 您可以使用ContentControl来显示页面,但这样做并不容易 我在使用其他框架之前做过,但可能类似: 您可以使用ContentControl和Behaviors 在行为中,只需创建一个属性,它可以是要在内部显示的视图页面的名称,在代码中创建视图的实例和视图的viewmodel,与视图和viewmodel进行绑定(使用DataContext属性),最后将此视图注入ContentControl的内容中
如果您真的想使用框架,那么解决方案非常类似 谢谢你的回复,我明天会试试看。让你知道它是否有效!
<controls:TabControl x:Name="TabHostControl" ItemsSource="{Binding TabPages}">
<controls:TabControl.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" Foreground="White"/>
</DataTemplate>
</controls:TabControl.HeaderTemplate>
<controls:TabControl.ItemTemplate>
<DataTemplate>
<Frame x:Name="ViewToLoad" />
</DataTemplate>
</controls:TabControl.ItemTemplate>
</controls:TabControl>