我对在WPF和Silverlight平台上使用XAML有疑问。
背景:
我有一个silverlight应用程序,需要将XAML传递给WPF,并进行一些计算来更新Xaml。当我在WPF中运行更改时,我解析XAML并将其转换为Canvas对象,它可以很好地完成这项工作。问题是WPF剥离了silverlight命名空间,甚至删除了一些元素的名称。
我用来将XAML转换为Canvas的代码
Canvas canvas = XamlReader.Parse(xaml) as Canvas下面是来自Silverlight的原始Xaml:
<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" > .......在我把它转换成一个画布对象后,画布的Xaml变成这样:
<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?
干杯
发布于 2009-12-11 07:45:25
看起来我必须自己回答这个问题,但这不是defn的答案
有人写了一个自定义的XamlWriter类,解决了部分问题,但RectangleGeometry问题的遗漏名称仍然存在http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/08aebbf1-0a61-4305-83b2-a0a37bb24002
https://stackoverflow.com/questions/1880643
复制相似问题