C#中如何实现ResourceManager动态加载

avatar
作者
筋斗云
阅读量:0

在C#中,ResourceManager 类用于管理应用程序中的文本资源。要实现 ResourceManager 的动态加载,您需要遵循以下步骤:

  1. 创建一个自定义的 ResourceDictionary 类,用于存储和管理资源。
public class CustomResourceDictionary : ResourceDictionary {     public void LoadResources(string resourceName)     {         base.Source = new Uri($"pack://application:,,,/{resourceName}.xaml");     } } 
  1. 在应用程序的资源中添加一个新的 XAML 文件,例如 CustomResources.xaml,并在其中定义您的资源。
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"                     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">     <System.Windows.Media.FontFamily x:Key="CustomFontFamily">Arial</System.Windows.Media.FontFamily>     <Style x:Key="CustomStyle" TargetType="Button">         <Setter Property="FontFamily" Value="{StaticResource CustomFontFamily}" />     </Style> </ResourceDictionary> 
  1. 在应用程序的代码中,创建一个 CustomResourceDictionary 实例,并使用 LoadResources 方法动态加载资源。
public partial class App : Application {     protected override void OnStartup(StartupEventArgs e)     {         base.OnStartup(e);          var customResourceDictionary = new CustomResourceDictionary();         customResourceDictionary.LoadResources("CustomResources");         this.Resources.MergedDictionaries.Add(customResourceDictionary);     } } 

现在,您可以在应用程序中使用已加载的资源,例如:

<Button Style="{StaticResource CustomStyle}">Click me</Button> 

这样,您就可以在运行时动态加载和使用 ResourceManager 中的资源了。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!