将资源添加到Silverlight应用程序中

时间:2010-07-11 20:46:06

标签: silverlight silverlight-4.0

我正在尝试将资源字典添加到我的silverlight-4应用程序中(在http://msdn.microsoft.com/en-us/magazine/dd419663.aspx文章的“将视图应用于ViewModel”章节中建议)。

第一个问题:我的主页中没有看到任何资源。我是否正确理解我需要手动将资源字典添加到Silverlight应用程序中?

第二种:当我这样做时,在Dictionary1.xaml文件中

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:System="clr-namespace:System;assembly=mscorlib">
    <DataTemplate DataType="{x:Type vm:MyViewModel}">
        <vw:MyView />
    </DataTemplate>
</ResourceDictionary>

我收到错误:无法解析符号'DataType'...

这有什么好主意吗?

2 个答案:

答案 0 :(得分:1)

ad 1:MainPage有一个ResourceDictionary。你可以在xaml中添加元素,如下所示:

<MainPage>
  <MainPage.ResourceDictionary>
    <DataTemplate>
      <vw:MyView />
    </DataTemplate>
  </MainPage.ResourceDictionary>
  ...

您可以使用ResourceDictionary的Source和MergedDictionaries属性将ResourceDictionary添加到MainPage.ResourceDictionary:

<MainPage>
  <MainPage.ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
      <ResourceDictionary Source="Dictionary1.xaml"/>
    </ResourceDictionary.MergedDictionaries>
  </MainPage.ResourceDictionary>
  ...

ad 2:DataTemplate在Silverlight框架中没有Property DataType。 : - (

答案 1 :(得分:0)

如果它将在ResourceDictionary中,你还需要将一个x:Key添加到DataTemplate中。