【发布时间】:2016-01-14 07:50:07
【问题描述】:
我想在我的 App.Xaml 中为字体大小定义一些资源。
这种事情会起作用:
<sys:Double x:Key="FontLarge">24</sys:Double>
但我想从 :xStatic 中获取值,所以是这样的:
<sys:Double x:Key="FontLarge">{x:Static local:Settings.FontLarge</sys:Double>
或
<sys:Double x:Key="FontLarge" Value="{x:Static local:Settings.FontLarge"></sys:Double>
但这些都不起作用。这可能吗?语法是什么?
【问题讨论】:
-
您可以在绑定本身中使用 x:static,而不是在 xaml 中定义 double。即您打算在哪里使用 FontLarge,只需使用 x:Static local:Settings.FontLarge ?
-
我可以,但我必须在我的标记中更改很多东西。这样做意味着我只需要在一个地方定义它。
-
您是通过
FontSize="{StaticResource FontLarge}"静态引用资源还是用FontSize="{Binding Source={StaticResource FontLarge}}"绑定它? -
按照您的第一个示例静态引用它。我已经能够将 x:Static 方法用于诸如 Color 属性为 x:Static 值的画笔之类的东西。这只是我遇到问题的低级双精度和字符串类型值。
标签: wpf staticresource