WPF-在运行时更新静态资源值

沙赫里亚尔

我有类似于以下代码:

<Application
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:local="clr-namespace:Software_Suite_Maker"
         xmlns:System="clr-namespace:System;assembly=mscorlib"
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         mc:Ignorable="d" x:Class="WpfApplication1.App"
         StartupUri="MainWindow.xaml">
<Application.Resources>
    <FontFamily x:Key="FontFamilyName">./Fonts/#Segoe UI</FontFamily>
</Application.Resources>

而Window xaml代码是:

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:WpfApplication1"
    mc:Ignorable="d"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <TextBox FontFamily="{StaticResource FontFamilyName}" Margin="135,122,187,180" Text="test"/>
    <Button FontFamily="{StaticResource FontFamilyName}" Margin="135,144,329,154" Content="test"/>
</Grid>

现在,我想从后面的代码中更改FontFamilyName的值。我写了这段代码:

var font = TryFindResource("FontFamilyName") as FontFamily;
font = new FontFamily("./Fonts/#Tahoma");

但是什么也没发生,也没有改变。我的问题是:如何从代码后面更改FontFamilyName值,并且还会在对象上进行更改?

安朱姆·汗

您必须使用DynamicResource

<TextBox FontFamily="{DynamicResource FontFamilyName}" Margin="135,122,187,180" 
    Text="test"/>
<Button FontFamily="{DynamicResource FontFamilyName}" Margin="135,144,329,154" 
    Content="test"/>

在MSDN上阅读有关DynamicResource的内容

通过将该值延迟为对已定义资源的引用,为任何XAML属性属性提供一个值。该资源的查找行为类似于运行时查找。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF如何在运行时更新UI

来自分类Dev

WPF如何在运行时更新UI

来自分类Dev

在运行时 WPF 上画线

来自分类Dev

Wpf 在运行时加载 dll

来自分类Dev

如何在运行时将动态资源分配给WPF代码中的按钮

来自分类Dev

WPF动画GIF源更改在运行时..但在源更改时保持静态

来自分类Dev

WPF动画GIF源更改在运行时..但在源更改时保持静态

来自分类Dev

在运行时WPF中设置图像

来自分类Dev

WPF:如何在运行时更改行为?

来自分类Dev

在运行时从C#编辑WPF ListView项

来自分类Dev

来自xaml的wpf图像未在运行时显示

来自分类Dev

WPF图像在运行时未渲染

来自分类Dev

WPF / MVVM在运行时动态加载视图

来自分类Dev

wpf 控制模板在运行时不起作用

来自分类Dev

WPF 绑定控件在运行时的宽度

来自分类Dev

如何在运行时编辑 WPF 按钮

来自分类Dev

使用WPF-MVVM在运行时扩展所有WPF TreeView节点

来自分类Dev

使用WPF-MVVM在运行时扩展所有WPF TreeView节点

来自分类Dev

WPF如何在运行时修改项目文件夹中的资源/内容文件(不在bin目录中)?实施“最近的更改”部分

来自分类Dev

WPF:在运行时动态更改DataGrid单元格/行背景色

来自分类Dev

使用WPF / MVVM在运行时动态更改UserControl内容

来自分类Dev

WPF文本块无法在运行时显示属性更改

来自分类Dev

WPF DropShadowEffect出现在预览上,但不在运行时

来自分类Dev

Visual Studio WPF窗口在运行时会收缩吗?

来自分类Dev

WPF全局样式,可在运行时更改而无需设置DynamicResource

来自分类Dev

如何在运行时正确禁用WPF窗口的最大化按钮?

来自分类Dev

在运行时网格中的文本框的WPF文本始终为空

来自分类Dev

WPF在运行时窗口边距不起作用

来自分类Dev

WPF DataGrid-在运行时从滚动视图中修改视觉效果

Related 相关文章

  1. 1

    WPF如何在运行时更新UI

  2. 2

    WPF如何在运行时更新UI

  3. 3

    在运行时 WPF 上画线

  4. 4

    Wpf 在运行时加载 dll

  5. 5

    如何在运行时将动态资源分配给WPF代码中的按钮

  6. 6

    WPF动画GIF源更改在运行时..但在源更改时保持静态

  7. 7

    WPF动画GIF源更改在运行时..但在源更改时保持静态

  8. 8

    在运行时WPF中设置图像

  9. 9

    WPF:如何在运行时更改行为?

  10. 10

    在运行时从C#编辑WPF ListView项

  11. 11

    来自xaml的wpf图像未在运行时显示

  12. 12

    WPF图像在运行时未渲染

  13. 13

    WPF / MVVM在运行时动态加载视图

  14. 14

    wpf 控制模板在运行时不起作用

  15. 15

    WPF 绑定控件在运行时的宽度

  16. 16

    如何在运行时编辑 WPF 按钮

  17. 17

    使用WPF-MVVM在运行时扩展所有WPF TreeView节点

  18. 18

    使用WPF-MVVM在运行时扩展所有WPF TreeView节点

  19. 19

    WPF如何在运行时修改项目文件夹中的资源/内容文件(不在bin目录中)?实施“最近的更改”部分

  20. 20

    WPF:在运行时动态更改DataGrid单元格/行背景色

  21. 21

    使用WPF / MVVM在运行时动态更改UserControl内容

  22. 22

    WPF文本块无法在运行时显示属性更改

  23. 23

    WPF DropShadowEffect出现在预览上,但不在运行时

  24. 24

    Visual Studio WPF窗口在运行时会收缩吗?

  25. 25

    WPF全局样式,可在运行时更改而无需设置DynamicResource

  26. 26

    如何在运行时正确禁用WPF窗口的最大化按钮?

  27. 27

    在运行时网格中的文本框的WPF文本始终为空

  28. 28

    WPF在运行时窗口边距不起作用

  29. 29

    WPF DataGrid-在运行时从滚动视图中修改视觉效果

热门标签

归档