从WPF页面调用样式表
本文关键字:样式 调用 WPF | 更新日期: 2023-09-27 18:18:38
我有一个非常特殊的情况,说实话我有点迷路了。我有一个WPF应用程序是从一个Windows窗体应用程序内运行。为了运行这个,我正在创建主窗口。xaml从我的WinForms代码。这意味着App.xaml永远不会受到攻击。
我已经尝试了在我的应用程序中使用样式表的所有不同方法。Xaml,但因为这不是运行,我认为我需要从每个页面调用我的样式表(类似于web)。<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="TextStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
这是代码,我看到这么多的在线和公平的,如果我从我的App.xaml调用它将在设计器中工作,但因为在运行时它从来没有击中,所以它不会工作。
我甚至尝试实例化App.xaml文件从我的WPF应用程序,但我不确定如果我搞砸了,或者它只是不工作,但它不喜欢它
是否有类似的东西可以在WPF页面或窗口上调用?
对不起,我是WPF的新手,可以使用基础知识,但是我在这方面很吃力
谢谢你的帮助。
App。当在WinForm上托管WPF组件时,xaml不能运行。看一看有关如何在托管的WPF应用程序中管理资源的几种方法,请访问http://drwpf.com/blog/2007/10/05/managing-application-resources-when-wpf-is-hosted/。
在你的情况下,我认为问题是你设置在源属性的方式,尝试使用包url,例如,
<Page.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/theNameOfTheResourceAssembly;component/resourceName.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Page.Resources>
资源也应该被格式化为:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="theNameOfTheResourceAssembly.resourceName">
...resource contents
</ResourceDictionary>