wpf staticresource 是不允许向前引用(forward reference)的

不允许向前引用(forward reference)在C/C++中中很常见,即在语法上,未定义变量、类之前,不能使用。

没想到wpf中的wpf staticresource也遵循这种规则。资源字典中,进行引用时,要主要了。

详见MSDN:https://msdn.microsoft.com/en-gb/library/cc189045(v=vs.95).aspx

Important Note:

A StaticResource must not attempt to make a forward reference to a resource that is defined lexically further within the XAML file. Attempting to do so is not supported, and even if such a reference does not fail, attempting the forward reference incurs a load-time performance penalty when the internal hash tables representing a ResourceDictionary are searched. For best results, adjust the composition of your resource dictionaries such that forward references can be avoided.

时间: 2024-10-28 16:34:45

wpf staticresource 是不允许向前引用(forward reference)的的相关文章

python自定义函数可以向前引用不用声明

#有些编程语言不够"聪明",向这类向前引用的方式会导致报错,但Python足够"醒目",这段代码是正确的! def next(): print('我在next()函数里...') pre() def pre(): print('我在pre()函数里...') next() 我在next()函数里... 我在pre()函数里...

java 成员变量、局部变量、静态变量、类变量、非静态变量、实例变量、向前引用、非法向前引用、静态代码块、非静态代码块

①java类的成员变量有俩种: 一种是被static关键字修饰的变量,叫类变量或者静态变量 另一种没有static修饰,为成员变量 ②通俗点说: 类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享.静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期. 而实例变量取决于类的实例.每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期. 注意点: 1.JAVA中初始化

java向前引用

根据看书和看得文章,引出了一个关于"向前引用"的问题: public class InstanceInitTest { static { // { a = 6; System.out.println(a);//Cannot reference a field before it is defined System.out.println(fun()); } static int fun(){ return a; } static int a = 9; public static voi

Angular 2 Forward Reference

Angular 2 通过引入 forwardRef 让我们可以在使用构造注入时,使用尚未定义的依赖对象类型.下面我们先看一下如果没有使用 forwardRef ,在开发中可能会遇到的问题: @Injectable()class Socket {       constructor(private buffer: Buffer) { } } console.log(Buffer); // undefined @Injectable()class Buffer {       constructor

Google C++ Coding Style:右值引用(Rvalue Reference)

右值引用是一个C++11特性,标记为T&&.GSG中定义:只为移动建构函数(Move constructor)和移动赋值操作(Move assignment)使用右值引用.并且不要使用std::Forward(提供的完美转发特性). C++中右值指表达式结束时就不再存的临时对象.在C++11中,右值分为纯右值(即原始字面量,表达式产生的临时变量等),以及一个将亡值(expiring value, 使用<<深入应用C++11>>中的译法,指的是与右值引用相关的表达式,

Angular 2 Forward Reference (可用作获取父组件对象)

在项目中发现有同事在 PageHeaderComponent 中引用父组件 PageComponent 的对象,如下: export class PageHeader { constructor(@Inject(forwardRef(()=>PageComponent) protected page?:PageComponent) this.addressData = this.page.systemUrl; addID(e){ if(e.url = ''){ this.page.updateA

错误代码: 1247 Reference &#39;startTime&#39; not supported (forward reference in item list)

1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:SELECT a.createUserId AS typeId, (SELECT COUNT(c.id) FROM t_aps c WHERE c.`status` IN (2, 5) AND c.createTime >= start... 错误代码: 1247 Reference 'startTime' not supported (forward reference

WPF中矢量图制作和引用

WPF程序有时需要适配不同大小的屏幕,图片是像素图的话,拉伸之后会变模糊,影响美观度,因此可以考虑使用矢量图.网上找到了相应的介绍:http://learnwpf.com/post/2006/06/04/How-do-I-Include-Vector-Based-Image-Resources-in-my-WPF-Application.aspx.但是里面提到的AI插件不是很好用,相比之下,微软提供的Expression Design 4还是方便些,现在该软件已经免费,可以直接去官网下载. 1.

在WPF(core版本)中引用外部字体不可用问题说明

这几天使用WPF写软件,想引用外部字体,于是下载了字体文件: 然后在App.xaml中添加了如下代码: <FontFamily x:Key="Digital-7 Mono"> pack://application:,,,/IVFTempMonitor;component/Fonts/Digital7Mono-B1g5.ttf#Digital-7 Mono </FontFamily> 字体存放目录: 在MainWindow.xaml中使用上面定义的字体,代码如下: