Fun*_*nut 31 c# xaml dictionary mvvm
我正在使用C#和来自GalaSoft的MVVM-Light Toolkit编写Windows 8.1 App.
我只有以下代码:
<Application.Resources>
<vm:ViewModelLocator x:Key="Locator" xmlns:vm="using:Scedule.ViewModel" />
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resource Dictionaries/StandardStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
出现错误"每个词典条目必须具有关联的键属性",并且只有在我删除时才会消失
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resource Dictionaries/StandardStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
要么
<vm:ViewModelLocator x:Key="Locator" xmlns:vm="using:Scedule.ViewModel" />
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这里的问题是什么?
Kin*_*ing 52
注意,Application.Resources需要一个实例ResourceDictionary,所以你必须做这样的事情:
<Application.Resources>
<ResourceDictionary>
<vm:ViewModelLocator x:Key="Locator" xmlns:vm="using:Scedule.ViewModel" />
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resource Dictionaries/StandardStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
所以它一点也不奇怪,它也不是一个bug.如果你希望你ResourceDictionary被视为一种资源,你当然必须提供一些Key吧,但是在这种情况下,你真的要分配的一个实例ResourceDictionary的Application.Resources