【问题标题】:WPF define a staticresource from x:static for doublesWPF 从 x:static 为双打定义一个静态资源
【发布时间】: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


【解决方案1】:

我认为没有办法使用x:Static 绑定Double 值(不过我可能错了)。

但总有一种方法可以使用您可以使用的代码。如果这意味着在 App.Xaml 中,您可以编写

App.Current.Resources.Add("FontLarge", Settings.FontLarge);

如果是其他课程,您可以删除App.Current,这样就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-15
    • 2011-09-12
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 2013-10-23
    相关资源
    最近更新 更多