我正在做一个项目,这个项目是基于一个有人开始但没有完成的旧项目。我试图尽可能多地使用他们的代码,所以在这样做的过程中,我遇到了一些调整问题。
也就是说,当我将一些旧的xaml放到新项目中时,抛出了一些关于“x:static”属性和“Dynamic”属性的错误。
以下是错误消息本身:
错误1:未找到类型“DynamicResource”。请验证未缺少程序集引用并且已生成所有引用的程序集。
错误2:找不到类型“x:Static”。请验证没有缺少程序集引用,并且已生成所有引用的程序集。
一些值得注意的点,我认为是导致错误:原项目采用VS 2008、WPF、v3.5 .Net框架编写;而我在VS2010,Silverlight 4,.Net Framework v4.0中编程。
我意识到从WPF到Silverlight就xaml而言有很多不同之处,而且从不同的.Net框架版本和Visual Studio版本也有很多不同之处。但我似乎在任何地方都找不到解决这个问题的方法,所以我不知道是否只是缺少了一个库,或者只是我忽略了什么。
如果需要的话,我可以重新创建它,但是就像我说的,我宁愿尽可能多地使用旧代码,只要调整不会引起比它的价值更多的麻烦。
2条答案
按热度按时间kqhtkvqz1#
不幸的是,您不能在Silverlight的XAML子集中直接使用DynamicResource和Static关键字,但您可以模仿它们的行为。以下是有关该主题的文章:
一般来说,将项目从WPF迁移到Silverlight并不容易。它们有很多共同点,但严格来说是不同的技术。
xwmevbvl2#
实现绑定到静态属性的另一种方法-在代码中绑定。下面是一个示例。
主要应用类别:
主窗口标记:
主窗口返回代码:
也许
TextBlock.Tag
的检查方法,无论是否已经设置了绑定,都不是最优雅的方法,但它是有效的。