从代码设置应用程序资源我有一个c#project,它是一个WPF应用程序,但我现在想将它构建为一个dll。我曾经通过从项目中删除app.xaml并将其构建类型设置为dll来执行此操作。我现在的问题是app.xaml包含一些用于实例化应用程序变量的xaml。为了解决这个问题,我试图以编程方式在将被调用的第一个xaml窗口中设置这些应用程序变量。我试图在代码中模拟的xaml是:这是我的代码:ResourceDictionarymyResourceDictionary=newResourceDictionary();myResourceDictionary.Source=newUri("C:\Resources\Styles\Shared.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\Styles\ToolBar.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\Styles\GroupBox.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\Styles\ZoomBox.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\Styles\ScrollBar.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\Styles\Expander.xaml");应用n.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\ApplicationToolbar.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\DesignerItem.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\Styles\ToolboxItem.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\Styles\Toolbox.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\Connection.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\Slider.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDiction阿里);myResourceDictionary.Source=newUri("C:\Resources\ScrollViewer.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("C:\Resources\StatusBar.xaml");Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);这行得通吗?我遇到的问题是Toolbar.xaml引用了在Shared.xaml中声明的资源,但它没有被拾取并且我收到以下错误找不到名为“ToolbarSelectedBackgroundBrush”的资源。资源名称区分大小写。这是shared.xaml中的资源在toolbar.xaml中引用它的地方是delcared的资源抱歉,关于一个问题的帖子,但我认为id提供了尽可能多的信息。如果您需要帮助,请给我打电话。这段代码对我有用。刚刚将URIS更改为亲戚:ResourceDictionarymyResourceDictionary=newResourceDictionary();myResourceDictionary.Source=newUri("Dictionary1.xaml",UriKind.Relative);Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);myResourceDictionary.Source=newUri("Dictionary2.xaml",UriKind.Relative);Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);我觉得你需要指定资源所在组件的名称;component/Resources/Styles/Shared.xaml"/>如果你的dll命名为My.Wpf.Component.dll,你应该把My.Wpf.Component这样在代码中它应该是Application.Current.Resources.MergedDictionaries.Add(newResourceDictionary{Source=newUri(@"/;component/Resources/Styles/Shared.xaml",UriKind.Relative)});你必须单独创建ResourceDictionary文件,例如Style.xaml包含(不要忘记命名空间)并最终在您上面的所有控件中引用它这是C#学习教程:从代码设置应用程序资源共享的全部内容。如果是对你有用,需要详细了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除,如需转载请注明出处:
