有没有办法在Window级别而不是Application级别添加ResourceDictionary?
我看到很多这样的例子:
Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);
Run Code Online (Sandbox Code Playgroud)
但是,没有像我期望的那样,例如:
Window.Resources.MergedDictionaries.Add(myResourceDictionary);
Run Code Online (Sandbox Code Playgroud)
提前致谢,
你做不到:
Window.Resources
Run Code Online (Sandbox Code Playgroud)
但是,你可以这样做:
this.Resources.MergedDictionaries.Add(myResourceDictionary);
Run Code Online (Sandbox Code Playgroud)
Resources是FrameworkElement的一个属性,由Application和Window(以及WPF中的大多数其他用户界面类)共享.但是,它是一个实例属性,而不是静态属性,因此您需要使用特定实例的资源.当您键入"Window.Resources"时,您试图添加到"窗口"类型,而不是特定的窗口.
这适用于您的Application行,因为Application.Current返回Application的当前实例,因此您正在使用正确的特定实例(不是类型).
| 归档时间: |
|
| 查看次数: |
6472 次 |
| 最近记录: |