将代码移植到Silverlight时出错

时间:2012-07-26 12:41:43

标签: c# silverlight

我的解决方案中有一个C#类库项目,我在其中添加了一个用户控件并从我的WPF应用程序中粘贴了以下代码。

xaml看起来很好,但我在编译时遇到了一些错误。例如:

1) System.Windows.DataFormats' does not contain a definition for 'StringFormat'
2) System.Windows.Controls.TextBlock' does not contain a definition for 'Background' and no extension method 'Background' accepting a first argument of type 'System.Windows.Controls.TextBlock' could be found
3) System.Windows.Media.Colors' does not contain a definition for 'LightCoral'
4) System.Windows.Controls.TextBlock' does not contain a definition for 'Background' and no extension method 'Background' accepting a first argument of type 'System.Windows.Controls.TextBlock' could be found (are you missing a using directive or an assembly reference?)

我不确定为什么会出现这些错误,这些错误与TextBox的背景,Drag Drop,DataFormats等有关。 .xaml.cs 代码也在这里。 http://pastebin.com/CY8E8prz

2 个答案:

答案 0 :(得分:2)

你必须删除错误引用的属性,因为Silverlight根本没有它们或者它们有不同的名称(WPF和Silverlight不完全相同,前者有更多功能比后者。)

一些例子:

  • 要为TextBlock的背景着色,您可以将其包裹在Border中(相应地调整定位/尺寸属性)。
  • LightCoral看起来像一个颜色名称,您必须查找类似的内容或使用Color.FromArgb()

简而言之,从WPF到Silverlight的复制粘贴代码很少按原样运行。

答案 1 :(得分:1)

Textblock在Silverlight中没有背景,只有WPF。我确定你的其他错误也是如此。对于该特定问题,请将文本块放在另一个控件上或使用标签。对于颜色,只需查看RGB并直接设置它。我不确定其他错误。