【发布时间】:2014-03-14 05:30:27
【问题描述】:
我有一些 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>
【问题讨论】:
-
SL 中没有 SizeAll 光标,如果不知道您的命名空间是如何设置的,其余部分很难说。
标签: c# wpf silverlight xaml