首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将WPF XAML转换为Silverlight XAML

将WPF XAML转换为Silverlight XAML
EN

Stack Overflow用户
提问于 2009-12-10 20:24:04
回答 1查看 2.2K关注 0票数 1

我对在WPF和Silverlight平台上使用XAML有疑问。

背景:

我有一个silverlight应用程序,需要将XAML传递给WPF,并进行一些计算来更新Xaml。当我在WPF中运行更改时,我解析XAML并将其转换为Canvas对象,它可以很好地完成这项工作。问题是WPF剥离了silverlight命名空间,甚至删除了一些元素的名称。

我用来将XAML转换为Canvas的代码

代码语言:javascript
复制
Canvas canvas = XamlReader.Parse(xaml) as Canvas

下面是来自Silverlight的原始Xaml:

代码语言:javascript
复制
<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="Holder" Width="58" Height="23" >
代码语言:javascript
复制
 .......

在我把它转换成一个画布对象后,画布的Xaml变成这样:

代码语言:javascript
复制
<Canvas Name="Holder" Width="58" Height="23" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Canvas.Clip><RectangleGeometry RadiusX="0" RadiusY="0" Rect="0,0,58,23"/>
</Canvas.Clip><Rectangle Name="HolderBackground" Canvas.Top="0.4" Canvas.Left="0.4" Width="57.2" Height="22.2" RadiusX="0" RadiusY="0" Fill="#FFFFFF" />
<Canvas Name="Image1" Canvas.Top="0.8" Canvas.Left="0.8" Width="24.37999153137207" Height="21.4"> .......

您应该注意到缺少xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml“。此外,所有x:Name现在都变成了Name。如果仔细观察,您会注意到此元素的名称已被删除

每个人都有任何想法或简单的解决方案,我可以转换Silverlight XAML -> WPF XAML ->(回到) Silverlight XAML?

干杯

EN

回答 1

Stack Overflow用户

发布于 2009-12-11 07:45:25

看起来我必须自己回答这个问题,但这不是defn的答案

有人写了一个自定义的XamlWriter类,解决了部分问题,但RectangleGeometry问题的遗漏名称仍然存在http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/08aebbf1-0a61-4305-83b2-a0a37bb24002

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1880643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档