我使用典型的listbox + datatemplate视图在ObservableCollection中显示多个电影项目。 但是,我希望在同一页面能够快速将视图更改为我定义posterview(即只包含在wrappanel中的posterimages)。在运行时更改部分视图
xaml-page使用viewmodel作为datacontext。
有没有办法基本上用另一部分XAML内容替换? 在视图的代码隐藏中尽可能保留尽可能少的代码。
我见过WPF的例子,对于例如使用绑定到一个viewmodelproperty这是非常干净的, 为this article 这样的DataTrigger ......但Windows手机没有一个DataTriggers,是否正确?
我正在尝试使用MVVM-ish方法,因此需要在代码隐藏视图中尽可能少的代码。
所以我想改变这一点:
<ContentControl DataContext="{Binding CinemaShowsOverview }" Template="{StaticResource ListView}" />
要:
<ContentControl DataContext="{Binding CinemaShowsOverview }" Template="{StaticResource PosterView}" />
谢谢!奇迹般有效! –
也许DataTemplateSelector应该是一个抽象类,而SelectTemplate应该是抽象的? – Charlie