带有AdornedElementPlaceHolder的StaticResource导致XamlWriter.Save出错

时间:2013-01-30 19:20:20

标签: wpf xaml wpf-controls

我有一个WPF TextBox,其样式应用为StaticResource(Style =“{StaticResource MyStyle}”)。该样式使用AdornedElementPlaceholder定义ErrorTemplate,如下所示:

<Setter Property="Validation.ErrorTemplate">               
  <Setter.Value>                                                
    <ControlTemplate>                    
      <Border BorderThickness="3">                                               
        <AdornedElementPlaceholder/>                     
      </Border> 
   </ControlTemplate>            
  </Setter.Value>        
</Setter> 

这非常有效,直到我尝试在包含此文本框的控件上执行XamlWriter.Save(用于打印)。当调用XamlWriter.Save时,我得到一个System.Windows.Markup.XamlParseException,“System.Windows.Controls.AdornedElementPlaceholder'的初始化引发了一个异常。”,InnerException为“只能使用AdornedElementPlaceholder作为Template的一部分”。

有趣的是我可以通过使用DynamicResource(即Style =“{DynamicResource MyStyle})来解决这个问题。不幸的是,这对我来说不是一个好的解决方案,因为这将是常用的,我不想要开销of DynamicResource。

0 个答案:

没有答案