首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从C#代码访问wpf中的ResourceDictionary?

要从C#代码访问WPF中的ResourceDictionary,您可以使用以下步骤:

  1. 首先,确保您已经在WPF项目中添加了需要访问的ResourceDictionary。例如,您可以在项目的App.xaml文件中添加一个名为"MyResourceDictionary"的ResourceDictionary。
代码语言:xml<Application.Resources>
复制
   <ResourceDictionary>
       <ResourceDictionary.MergedDictionaries>
           <ResourceDictionary Source="MyResourceDictionary.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>
  1. 在C#代码中,您可以使用Application.Current.Resources来访问已合并的ResourceDictionary。然后,您可以使用键来获取特定的资源。例如,如果您的ResourceDictionary中有一个名为"MyBrush"的SolidColorBrush资源,您可以使用以下代码来访问它:
代码语言:csharp
复制
SolidColorBrush myBrush = Application.Current.Resources["MyBrush"] as SolidColorBrush;
  1. 如果您需要访问特定控件的ResourceDictionary,您可以使用该控件的Resources属性。例如,如果您有一个名为"MyButton"的Button控件,并且您想要访问它的ResourceDictionary中的资源,您可以使用以下代码:
代码语言:csharp
复制
Button myButton = new Button();
myButton.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = new Uri("MyResourceDictionary.xaml", UriKind.Relative) });

然后,您可以使用键来获取特定的资源,如下所示:

代码语言:csharp
复制
SolidColorBrush myBrush = myButton.Resources["MyBrush"] as SolidColorBrush;

这样,您就可以从C#代码访问WPF中的ResourceDictionary了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WPF代码 资源字典 ResourceDictionary 设置 Source 属性逻辑

本文来和大家聊聊在 WPF 里面在给 ResourceDictionary 设置 Source 属性时,在 WPF 框架里面做了哪些逻辑 默认添加 Source 时都是指定 WPF 自身 XAML 资源字典...System.IO.Packaging 来解析程序集资源 而给 Source 属性赋值时候,给是一个 Uri 类型变量,那么 资源字典 ResourceDictionary如何通过 Uri...其实在 WPF ResourceDictionary Source 属性赋值里面有很长一段逻辑,如下面代码,请大家快速跳过,这些代码只是用来告诉大家,在 WPF 里面使用了很多代码来处理这部分逻辑...也就是说存在 Key 重复资源时候,会先从资源字典本身寻找,如果找不到就从合并其他字典最后一个资源字典开始寻找 这就是 WPF 资源字典设置逻辑 当前整个 WPF代码都是开源,请看 https...资源字典_LADT博客-CSDN博客 WPF 资源字典ResourceDictionary使用_Stay Hungry-CSDN博客 WPF 在后台代码定义 ResourceDictionary 资源字典

1.9K10

深入浅出话资源

下面让我们看看如何WPF程序添加二进制资源并使用它们。 如果要添加资源是字符串而非文件,我们可以使用应用程序名称空间下Resources.resx资源文件。...利用资源文件编辑器,可以资源文件字符串里添加两个条目,然后分别在XAML代码C#代码访问他们。...在XAML代码中使用Resources.resx资源,需要把程序Properties名称映射为XAML名称空间,然后使用x:Static标签扩展来访问资源。...使用所略写意味着相对路径,C#代码UriKind必须为Relative而且代表根目录/可以省略。...使用完整写法时是绝对路径,C#代码UriKind必须为Absolute并且代表根目录/不能省略。 使用相对路径可以借助类似DOS语法进行导航,比如./代表同级目录,../代表父级目录。

1.8K20

开源WPF控件库推荐:ModernWpf

ModernWpf仓库信息 站长博客园 林德熙 处了解到此控件库,通过clone、编译、运行,发现这库确实不错,正如 林德熙 所言:“有十分漂亮界面,整个都是 Win10 风,界面部分和默认 UWP...相近, 这个库支持了 .NET Framework 4.5 和以上版本,以及 .NET Core 3.0 和以上版本,可以在 Windows Vista SP2 和以上系统运行。”...本人遂该仓库中将readme搬运过来,希望让更多人知道有这个库存在,能给WPF开发者多一个UI库选择。 ? 白色主题 快速开始 创建一个WPF应用 NuGet安装包 ModernWpfUI....HighContrast.png 其他控件库介绍: 国内开源C# WPF控件库Panuon.UI.Silver推荐 《Dotnet9》系列-开源C# WPF控件库3《HandyControl》强力推荐...(四)开源C# WPF控件库《AduSkin – UI》

4.1K20

WPF 在后台代码定义 ResourceDictionary 资源字典

WPF ResourceDictionary 资源字典大部分都是在 XAML 里面定义,但是在 C# 代码定义一个资源字典也是可行,只是写起来有点诡异 在 CSharp 后台代码里面给 WPF... 需要注意是在 C# 后台定义 WPF 资源字典不能通过 Url 方式引用,而是需要通过实例方式。...,只是这个方法没有自动更新值机制 本文代码放在github欢迎小伙伴访问 而在 XAML 定义内容,同时支持对应后台代码也可以,但是没有什么意义,至少我还不知道这个功能有什么作用 做法就是和上面代码一样...,定义一个继承 ResourceDictionary 类,如下面代码 public class ResourceJainahijainenelHuceenukur : ResourceDictionary...url 形式 但是这样做我想不到有多少意义,因为 OnGettingValue 方法尽管重写了,但是实际不会被调用进入 本文代码放在github欢迎小伙伴访问

1.3K10

C# WPF后台代码生成行列可变表格

z概述 WPF常用表格控件是DataGrid,这个控件在前台XAML编写的话,一般列已经固定,然后给每个列去绑定数据,但是如果我列不固定,随着运算结果变动呢?...这时候DataGrid,就比较难实现这个需求,这节我就从后台代码去添加控件去实现这个功能. 效果演示 实现方法 -....Grid_Loaded($source,$eventArgs)]" /> 这里我把grid放到了dxlc:LayoutControl,...这样可以实现grid尺寸超出界面分配长宽时,横纵出现滑动条:如下图 -.后台代码: 数据模型: public class WidthMetrologyDTO { ///...).FirstOrDefault().EdgePositions.Count; -.生成控件并添加到grid,并通过SetValue设置控件在grid行列位置

87510

WPF面试题大全,秒杀面试官必备

12、C#表单界面上,有一个DataGrid控件,如何将SQL数据库里一个表数据显示在这个控件上,请描述一下操作方法及步骤 ? 13、解释完整WPF对象层次结构 ?...=}语法可以指定绑定路径,用于访问数据源嵌套属性。...例如,以下代码将上例样式应用到button控件: 当然用C#代码也可以控制。...12、C#表单界面上,有一个DataGrid控件,如何将SQL数据库里一个表数据显示在这个控件上,请描述一下操作方法及步骤 ? 答:首先,确保已经建立了与SQL数据库连接。...在C#代码,编写查询数据库代码,并将结果绑定到DataGrid控件上。可以使用SQLDataAdapter和DataSet来执行查询并获取结果集。

42010

少量代码设计一个登录界面 - .NET CORE(C#) WPF开发

少量代码设计一个登录界面 - .NET CORE(C#) WPF开发 阅读导航 本文背景 代码实现 本文参考 源码 1....代码实现 使用 .NET CORE 3.1 创建名为 “Login” WPF模板项目,添加1个Nuget库:MaterialDesignThemes.3.1.0-ci981。...解决方案主要文件目录组织结构: Login MainWindow.xaml.cs App.xaml MainWindow.xaml 2.1 App.xaml文件引入样式 文件【App.xaml】,在 StartupUri 设置启动视图...<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml...C# WPF开源控件库《MaterialDesignInXAML》 4.源码 演示代码已全部奉上,为了方便演示,代码图片使用本站外链,代码可直接拷贝并按代码结构组织编译即可运行。

1.4K20

.NET CORE(C#) WPF亚克力窗体

.NET CORE(C#) WPF亚克力窗体 阅读导航 本文背景 代码实现 本文参考 源码 1. 本文背景 本文介绍使用FluentWPF控件库实现亚克力效果窗体。 亚克力窗体 2....代码实现 使用 .Net Core 3.1 创建名为 “AcrylicWindow” WPF模板项目,添加三个Nuget库:MaterialDesignThemes、MaterialDesignColors...解决方案主要文件目录组织结构: AcrylicWindow App.xaml MainWindow.xaml MainWIndow.xaml.cs 2.1 引入样式 文件【App.xaml】,在StartupUri设置启动视图...e) { DragMove(); } 3.本文参考 视频一:C# WPF Design UI: Transparent/Acrylic Window,配套源码:AcrylicWindow。...4.源码 文中代码已经全部给出,可直接Copy代码,按解决方案目录组织代码文件即可运行,另附原作者视频及源码【见3.本文参考】、站长成功编译Demo(点击下载->AcrylicWindow)。

2.1K00

少量代码设计一个登录界面(二) – .NET CORE(C#) WPF开发

阅读导航 本文背景 代码实现 本文参考 源码 1. 本文背景 同上篇文章《少量代码设计一个登录界面》,本篇介绍另一种登录界面设计风格。 ? ? 2....代码实现 使用 .NET CORE 3.1 创建名为 “Login” WPF模板项目,添加1个Nuget库:MaterialDesignThemes.3.1.0-ci981。...解决方案主要文件目录组织结构: Login MainWindow.xaml.cs App.xaml MainWindow.xaml 2.1 App.xaml文件引入样式 文件【App.xaml】,在 StartupUri 设置启动视图...<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml...C# WPF开源控件库《MaterialDesignInXAML》 4.源码 演示代码已全部奉上,为了方便演示,代码图片使用本站外链,代码可直接拷贝并按代码结构组织编译即可运行。

1.3K10

FluentValidation在C# WPF应用

其实它也可以用于WPF属性验证,本文主要也是讲解该组件在WPF使用,FluentValidation官网是: https://fluentvalidation.net/ 。...本文需要实现功能unsetunset 提供WPF界面输入验证,采用MVVM方式,需要以下功能: 能验证ViewModel定义基本数据类型属性:int\string等; 能验证ViewModel定义复杂属性...调研遇到问题unsetunset 简单属性:验证ViewModel普通属性比较简单,可以参考FluentValidation官网 ,或者国外holymoo大神代码: UserValidator.cs...和子属性都实现IDataErrorInfo接口,即可实现复杂属性验证,文章没有具体实现,但灵感是从这来,就不具体说该链接代码了,有兴趣可以点击链接阅读,下面贴上代码。...创建验证器 验证属性写法有两种: 可以在实体属性上方添加特性(本文不作特别说明,百度文章介绍很多); 通过代码形式添加,如下方,创建一个验证器类,继承自AbstractValidator,在此验证器构造函数写规则验证属性

12610

WPF基础之资源

WPF资源 WPF资源系统是一种保管一系列对象(如常用画刷、样式或模版)简单办法,从而使您更容易地复用这些对象。...WPF允许在代码以及在标记各个位置定义资源(和特定控件、窗口一起定义,或在整个应用程序定义)。资源具有如下优点。 高效。定义好资源可以在多个地方复用。 可维护性。易于修改。 适应性。...这意味着无论何时在WPF改变画刷,所有使用该画刷控件都会自动更新。静态资源和动态资源区别在于静态资源只资源集合获取对象一次,动态资源每次需要对象时都会重新资源集合查找对象。...Viewport="0 0 32 32" ImageSource="happyface.jpg" Opacity="0.3"> 通过代码访问资源...如果没有在应用程序资源中找到所需资源,元素还会继续查找系统资源。 系统资源三个类 SystemColors 访问系统颜色设置。 SystemFonts 访问字体设置。

76731

WPF 设置资源字典多线程安全读写方法

WPF ,使用 ResourceDictionary 本身不会受到创建线程同步影响,意味着可以在任意线程创建 ResourceDictionary 资源字典,然后在任意线程使用。...在 ResourceDictionary 有一个 CanBeAccessedAcrossThreads 属性用来决定在进行读写时候是否加上锁,但这个属性是内部,需要通过黑科技更改才能用上 依据 WPF...而 AddAndGetValueWithCanBeAccessedAcrossThreads_OnClick 方法将会全部执行完成 本文代码放在github欢迎小伙伴访问WPF 里面挖了一个坑,在...但是在使用时候还请放心,因为理论上对字典以及 WPF Hashtable 进行一个线程写一个线程读是不会有异常。...本文提供方法只是为了 通过多线程创建资源字典方法可以用来提升启动性能 当前整个 WPF代码都是开源,请看 https://github.com/dotnet/wpf/ 本作品采用

54620
领券