带有StaticExtension的ArgumentNullException

时间:2015-11-10 19:07:54

标签: c# wpf xaml

问题

这有效:

<Style TargetType="{x:Type Button}">
     <Style.BasedOn>
          <x:StaticExtension Member="l:SharedResources.ButtonStyle" />
     </Style.BasedOn>
</Style>

但是有了这个:

<Style TargetType="{x:Type Button}"
       BasedOn="{x:Static l:SharedResources.ButtonStyle}" />

我在ArgumentNullException获得了StaticExtension.MemberType.set(System.Type value),其中包含以下消息:

  

值不能为空。
  参数名称:值

为什么?

可能有用的背景信息

  • l:SharedResources是一个具有多个静态Style属性的静态类

    public class SharedResources : ResourceDictionary
    {
        // other stuff
        public static Style ToolBarButtonStyle { get { /* stuff */ } }
        // other styles
    }
    

    并且使用xaml中的样式除了上面的情况外没有任何障碍。

  • 在异常之前,属性getter的断点永远不会被命中,但在工作的情况下,它确实会被命中。

0 个答案:

没有答案