使用XAML将现有对象放在ResourceDictionary中

时间:2012-02-09 16:25:59

标签: wpf xaml

如何将现有对象(从静态字段)插入到ResourceDictionary中,其方式相当于直接在那里实例化,即。使用{StaticResource name}引用资源必须返回对象实例而不是某个包装器(如ObjectDataProvider)。

1 个答案:

答案 0 :(得分:0)

<强>更新

不幸的是StaticExtension在所有情况下都不起作用,看起来它只是插入可转换为基础源的StaticExtension对象,但它并不适用于所有上下文(例如,当将参数值传递给标记扩展)。

仅在使用标记语法{x:Static my:Foo.Bar}时插入实际值,但只有在我需要集合时才能使用属性。


我似乎可以使用StaticExtension执行此操作但由于某些原因不能直接在Application.Resources内。

<x:Static Member="my:MyEnum.One" x:Key="one" />

如果我使用显式<ResourceDictionary>包装所有内容,它可以直接在其他类的Resources和Application类中工作。

这是编译错误案例时的错误:

  

错误3程序'X:\ y \ prog.exe'不包含静态'Main'   适合入境点的方法

此外,当我开始编辑MainWindow.xaml时,VS2010很快就崩溃了。