如何在设计时加载WPF资源字典

时间:2012-07-26 12:58:53

标签: .net wpf

我有一个WPF窗口,其中一些属性被定义为动态资源,如下所示:

<Window x:Class="LocSample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        MinHeight="350" MinWidth="525"
        Title="{DynamicResource ResourceKey=ResId_Title}"
        FlowDirection="{DynamicResource ResId_FlowDirection_Default}" >
    <Grid>
       <Label Content="{DynamicResource ResId_FirstName}" />  
    </Grid>
</Window>

在运行时加载ResourceDictionary以反映用户的语言选择。并使用户能够即时切换语言。

这在运行时工作正常,但在设计时,资源定义的属性不会显示。我很清楚,设计师无法展示它们,因为它们没有在设计时定义。

我需要一种在设计时加载默认ResourceDictionary的方法,以便设计师可以展示任何内容。

1 个答案:

答案 0 :(得分:-1)

设置Window的Resources属性或任何其他元素,以便在xaml中运行时加载资源字典。这可以这样做:

<Window>
    <Window.Resources>
        <ResourceDictionary Source="YOUR_DEFAULT_RESOURCE_DICTIONARY.xaml" />
    </Window.Resources>
    <!-- Your window content -->
</Window>

显然,如果将其添加到除Window之外的其他元素中,则需要更改Window.Resources元素。