c# – WPF共享资源问题 – 没有App.xaml,没有共享资源

c# – WPF共享资源问题 – 没有App.xaml,没有共享资源,第1张

概述我在我正在处理的应用程序中遇到了一个小问题(很大). 我正在为我的公司申请一个模块.该应用程序是一个WinForm应用程序,但我一直在研究一个WPF应用程序(不是真正的应用程序,你会看到),它将在这个WinForm应用程序完成后托管. 为此,我使用的是WinForm元素主机,我创建了一个“shell”用户控件,然后在该shell用户控件中创建了其他用户控件窗口.所以它看起来像一个WPF应用程序,并 我在我正在处理的应用程序中遇到了一个小问题(很大).

我正在为我的公司申请一个模块.该应用程序是一个WinForm应用程序,但我一直在研究一个WPF应用程序(不是真正的应用程序,你会看到),它将在这个WinForm应用程序完成后托管.

为此,我使用的是WinForm元素主机,我创建了一个“shell”用户控件,然后在该shell用户控件中创建了其他用户控件窗口.所以它看起来像一个WPF应用程序,并且只使用WinForm应用程序作为其启动项目,因为WPF应用程序实际上只是WPF控件的集合.

我遇到的问题是,由于我还没有创建实际的“WPF应用程序”,因此没有App.xaml.这使我无法按照我的方式使用共享资源,尤其是XAML共享资源.

有没有办法我仍然可以将我的WPF用户控件集合视为WPF应用程序,并以某种方式使用App.xaml文件作为我的资源.如果没有,我在应用程序中使用共享资源的选择是什么.

解决方法 将ResourceDictionary(xaml)文件添加到项目中(假设它是一个类库 – WPF自定义控件库),将它合并到Generic.xaml之上,然后
你将可以参考它,你的StaticResource将工作.

您还可以将资源包含在Generic.xaml(或任何xaml文件)文件本身中.

以下是您当前字典的外观:

<ResourceDictionary  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  xmlns:sys="clr-namespace:System;assembly=mscorlib"     xmlns:local="clr-namespace:WpfCustomControllibrary1">  <sys:String x:Key="myString">sdfasdf</sys:String>  <Style targettype="{x:Type local:CustomControl1}">    <Setter Property="Text" Value="{StaticResource myString}"/>    <Setter Property="Template">      <Setter.Value>        <ControlTemplate targettype="{x:Type local:CustomControl1}">          <border Background="{TemplateBinding Background}"                            borderBrush="{TemplateBinding borderBrush}"                            borderThickness="{TemplateBinding borderThickness}">            <TextBlock Text="{TemplateBinding Text}"/>          </border>        </ControlTemplate>      </Setter.Value>    </Setter>  </Style></ResourceDictionary>

我在VS2010中初始化了上述控件的设计时实例,它显示了文本(Text是我手动添加到CustomControl1的字符串DP属性),这意味着它读取了myString资源.

您可以找到更具体的信息here和here.

总结

以上是内存溢出为你收集整理的c# – WPF共享资源问题 – 没有App.xaml,没有共享资源全部内容,希望文章能够帮你解决c# – WPF共享资源问题 – 没有App.xaml,没有共享资源所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1227982.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存