WPF的Tabcontrol绑定多个窗口该怎么写?

keyayi 2014-04-28 10:27:41
       

<Grid x:Name="MainDisplay" Grid.Column="2" Background="LightGray">
<TabControl Name="tabControl" ItemsSource="{Binding Path=Topologys}" SelectedValue="{Binding Path=TopologySelected}" IsEnabled="True">

<TabControl.Resources>
<DataTemplate x:Key="headerTemplate" x:Shared="False">
<TextBlock Text="{Binding DisplayName}"/>
</DataTemplate>

<DataTemplate x:Key="contentTemplate" x:Shared="False">
<vw:TopologyUserControl/>
</DataTemplate>

<Style TargetType="{x:Type TabItem}">
<Setter Property="HeaderTemplate" Value="{StaticResource headerTemplate}"/>
<Setter Property="ContentTemplate" Value="{StaticResource contentTemplate}"/>
</Style>
</TabControl.Resources>
</TabControl>
</Grid>


资源文件中:

<DataTemplate DataType="{x:Type vm:TopologyViewModel}">
<vw:TopologyUserControl />
</DataTemplate>

<DataTemplate DataType="{x:Type vm:DevicesListViewModel}">
<vw:DevicesListView />
</DataTemplate>

请大家帮忙看一下,我该怎么写,原来代码中ItemsSource="{Binding Path=Topologys},里面的tab页类型都是TopologyViewModel,现在我修改后,ItemSource就可能有2种类型了,分别是TopologyViewModel和DevicesListViewModel,xaml语言我该怎么改一下呢?
...全文
648 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
keyayi 2014-05-03
  • 打赏
  • 举报
回复
解决了,把 <DataTemplate x:Key="contentTemplate" x:Shared="False"> <vw:TopologyUserControl/> </DataTemplate> <Setter Property="ContentTemplate" Value="{StaticResource contentTemplate}"/> 这部分删掉,另外把资源文件包括进来就可以了。原来代码中,没有把资源文件给引用进来!
keyayi 2014-04-29
  • 打赏
  • 举报
回复
这个例子看到过,可是我试了下,貌似直接崩溃了。不知道哪里有WPF使用Prim库,比较完整一点的源码(最好代码多点,多线程什么的都用上),参考参考!
namhyuk 2014-04-29
  • 打赏
  • 举报
回复
错了,不是Martin那小子写的。 地址:http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
namhyuk 2014-04-29
  • 打赏
  • 举报
回复
当年Silverlight都没怎么发展,MVVM模式刚出来没久,就有个叫Martin Fowler的家伙写了个WPF MVVM的很经典的BLOG,那里就有。时间久了,我也懒的搜了,楼主你自己找。
小恒丶 2014-04-29
  • 打赏
  • 举报
回复
elementname=名字,path=value;

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧