Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在MergedDictionary中找不到WPF动态资源,但在其外部可以_C#_Xaml_Resourcedictionary - Fatal编程技术网

C# 在MergedDictionary中找不到WPF动态资源,但在其外部可以

C# 在MergedDictionary中找不到WPF动态资源,但在其外部可以,c#,xaml,resourcedictionary,C#,Xaml,Resourcedictionary,我有一个main类(带有MainView.xaml),它在MainView显示很久之后动态加载各种其他页面 因此,MainView.xaml定义了以下样式: <Window.Resources> <Style x:Key="ErrorTemplate" TargetType="TextBox"> <Setter Property="FontSize" Value="30"/> </Style> </Window.Resourc

我有一个main类(带有MainView.xaml),它在MainView显示很久之后动态加载各种其他页面

因此,MainView.xaml定义了以下样式:

<Window.Resources>
  <Style x:Key="ErrorTemplate" TargetType="TextBox">
    <Setter Property="FontSize" Value="30"/>
  </Style>
</Window.Resources>
现在我开始收到消息说,
ErrorTemplate
无法解析

将其移出
合并词典
再次修复了该问题

<Page.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="MoreStyles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
        <Style x:Key="ErrorStyle" TargetType="TextBox">
          <Setter Property="Validation.ErrorTemplate" Value="{DynamicResource ErrorTemplate"/>
        </Style>
    </ResourceDictionary>
</Page.Resources>

这里发生了什么

<Page.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <!-- Guaranteed to not have an ErrorTemplate key -->
            <ResourceDictionary Source="MoreStyles.xaml"/>
            <ResourceDictionary>
              <Style x:Key="ErrorStyle" TargetType="TextBox">
                <Setter Property="Validation.ErrorTemplate" Value="{DynamicResource ErrorTemplate"/>
              </Style>
            </ResourceDictionary>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Page.Resources>
<Page.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="MoreStyles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
        <Style x:Key="ErrorStyle" TargetType="TextBox">
          <Setter Property="Validation.ErrorTemplate" Value="{DynamicResource ErrorTemplate"/>
        </Style>
    </ResourceDictionary>
</Page.Resources>