MVVM程序分析

1.app.xaml

    <Application.Resources>
    	<ResourceDictionary>
    		<ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Skins/Generic.xaml" />
    		</ResourceDictionary.MergedDictionaries>
    		<language:LocalizedStrings x:Key="LocalizedStrings" />
    		<local:MvvmViewModelLocator x:Key="Locator" />
    	</ResourceDictionary>
    </Application.Resources>

 关于MergedDictionaries的用法可见:

解释:http://blog.csdn.net/desertfishtoheaven/article/details/2252111

注意:http://www.cnblogs.com/beginor/archive/2009/10/14/1583035.html

Locator是用来指明那个xaml的datacontext绑定那个ViewModel。

2.MainPage.xaml

通过以下代码指定数据绑定。

DataContext="{Binding MainVM, Source={StaticResource Locator}}" 

 指定数据显示模板和触发命令。

<phone:PhoneApplicationPage.Resources>
        <DataTemplate x:Key="TurnstileItemTemplate">
            <Grid Background="{StaticResource PhoneAccentBrush}"  Margin="10" Width="150" Height="150">
                <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
                    <Border BorderBrush="Gray">
                        <Image Width="62" Height="62"  Source="{Binding IcoUrl}" Stretch="Fill" />
                    </Border>
                    <TextBlock Text="{Binding MenuName}"
                                           Foreground="{StaticResource PhoneContrastBackgroundBrush}"
                                           Margin="3"
                                           FontSize="24" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                </StackPanel>
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="MouseLeftButtonDown">
                        <cmd:EventToCommand Command="{Binding MainVM.MenuCommand,Source={StaticResource Locator}}" 
                                            CommandParameter="{Binding Type}"/>
                    </i:EventTrigger>
                </i:Interaction.Triggers>
            </Grid>
        </DataTemplate>
    </phone:PhoneApplicationPage.Resources>

posted @ 2011-07-16 22:38  jeekun  阅读(451)  评论(0编辑  收藏  举报