[英]Porting WPF XAML code to Silverlight XAML code
我有一些WPF XAML代码,在尝试使等效Silverlight时遇到一些重大问题。 现在,在有人开始大声疾呼两者之间如何不兼容的时候,我已经知道了。 我需要创建一个外观与现在的代码相似的Silverlight应用程序。 我能够转换所有的C#类,但是XAML代码令人痛苦。 这是我遇到问题的WPF的XAML代码:
<ControlTemplate x:Key="DesignerItemTemplate" TargetType="ContentControl">
<Grid DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}">
<s:MoveThumb Template="{StaticResource MoveThumbTemplate}" Cursor="SizeAll"/>
<ContentPresenter Content="{TemplateBinding ContentControl.Content}"/>
</Grid>
</ControlTemplate>
问题是我在项目的名称空间s:下看不到MoveThumb(MoveThumb是C#类)。 任何建议将不胜感激。
编辑这是Silverlight项目的所有代码。 一定要意识到,我对这种过渡还远远没有完成,并且我并不一定要就代码其他部分的其他问题寻求帮助。 只是这一部分(Designer Item Template下的部分)。
<UserControl x:Class="SilverlightFlowConnectors.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:s="clr-namespace:SilverlightFlowConnectors"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<UserControl.Resources>
<!-- MoveThumb Template -->
<ControlTemplate x:Key="MoveThumbTemplate" TargetType="s:MoveThumb">
<Rectangle Fill="Transparent"/>
</ControlTemplate>
<!-- Designer Item Template-->
<ControlTemplate x:Key="DesignerItemTemplate" TargetType="ContentControl">
<Grid DataContext="{StaticResource MoveThumbTemplate}">
</Grid>
</ControlTemplate>
</UserControl.Resources>
<Canvas>
<ContentControl Width="130"
MinWidth="50"
Height="130"
MinHeight="50"
Canvas.Top="150"
Canvas.Left="470">
<Ellipse Fill="Red"
IsHitTestVisible="False"/>
</ContentControl>
<ContentControl Width="130"
MinWidth="50"
Height="130"
MinHeight="50"
Canvas.Top="150"
Canvas.Left="150">
<Path Fill="Blue"
Data="M 0,5 5,0 10,5 5,10 Z"
Stretch="Fill"
IsHitTestVisible="False"/>
</ContentControl>
<ContentControl Width="130"
MinWidth="50"
Height="130"
MinHeight="50"
Canvas.Top="150"
Canvas.Left="150"
Template="{StaticResource DesignerItemTemplate}">
<Path Fill="Blue"
Data="M 0,5 5,0 10,5 5,10 Z"
Stretch="Fill"
IsHitTestVisible="False"/>
</ContentControl>
</Canvas>
您需要创建一个指定名称空间的短字符串s
作为目标,该字符串s
您当前具有MoveThumb s
为目标,或者修复您移植到的列表。 只是重做s
用,如果没有别的智能感知的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.