首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

Wpf使用Mvvmlight小疑点

2012-09-18 
Wpf使用Mvvmlight小问题用mvvmlight时,我有多个view和多个viewmodel时,怎样让view找到各自的viewmodel呢?[

Wpf使用Mvvmlight小问题
用mvvmlight时,我有多个view和多个viewmodel时,怎样让view找到各自的viewmodel呢?

[解决办法]
有点纠结!反射实现!
[解决办法]
MVVMlight框架是通过Command保持不同View页面之间通讯。
而View和ViewModel是通过资源绑定实现保持一致的。

例如:
在View页面定义TheViewModel,然后进行DataContext绑定使用ViewModel

XML code
<UserControl x:Class="MVVM.Client.Views.GameView"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:data="clr-namespace:MVVM.Client.Data;assembly=MVVM.Client.Data">  <UserControl.Resources>    <data:GamesViewModel x:Key="TheViewModel" />  </UserControl.Resources>  <Grid x:Name="LayoutRoot"        DataContext="{Binding Path=Games, Source={StaticResource TheViewModel}}">    ...  </Grid></UserControl>
[解决办法]
View和ViewModel的对应于mvvmlight无关,下边的代码是实际项目中的片断,就是关于View和ViewModel的对应,希望对你有帮助。

XML code
<ResourceDictionary   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  xmlns:vm="clr-namespace:Appl.ViewModel.Utility;assembly=App.ViewModel"  xmlns:vw_DataEntry="clr-namespace:Presentation.Server.Views.Workspace.DataEntry"  xmlns:vw_Security="clr-namespace:Presentation.Server.Views.Navigation"    >  <DataTemplate DataType="{x:Type vm:OperatorVM}">    <vw_DataEntry:OperatorView />  </DataTemplate>  <DataTemplate DataType="{x:Type vm:ProductViewModel}">    <vw_DataEntry:ProductView />  </DataTemplate>    <DataTemplate DataType="{x:Type vm:NavGroupVM}">    <vw_DataEntry:AllGroupsView />  </DataTemplate>  ...</ResourceDictionary> 

热点排行