2014-02-14 152 views
0

我有一些WPF XAML代码,在尝试制作Silverlight等效项时遇到了一些主要问题。现在,在任何人开始咆哮两个人不交叉兼容之前,我已经知道了。我需要创建一个与我现在的代码具有相似外观和感觉的Silverlight应用程序。我能够获得所有C#类的转换,但XAML代码很痛苦。下面是我在遇到问题的WPF的XAML代码:将WPF XAML代码移植到Silverlight 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> 

的问题是,我无法看到项下的:,这是我的项目的命名空间(MoveThumb是一个C#类)MoveThumb。任何建议将不胜感激。

编辑 这里是所有Silverlight项目的代码。要意识到我远没有完成这个过渡,我也不一定要寻求其他部分代码的帮助。仅这一个部分(在设计项目模板的一部分。

<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> 

+0

SL没有SizeAll光标,很难说其余的不知道你如何设置你的名字空间。 –

回答

0

您需要创建指定命名空间短字符串s它的目标,你必须MoveThumb目前或收拾你移植过上市,只是重做s与intellisense的帮助,如果没有别的。

+0

我已经做到了这一点(我没有觉得需要以包含不完全必要的代码)。智能感知将会照片在控制模板之外将我的课程上移,但不在其中。 – Chris

+0

@ user3311309's'是否包含您可以在xaml中访问的任何其他项目?这可能会给你一个线索为什么's'不工作。 – OmegaMan

+0

在ControlTemplate之外,我可以访问我所有的课程。就在ControlTemplate内部,我只能访问MainPage。在Grid内部,我无法访问任何内容。这真的让我难住。我觉得我在这里错过了一些东西。 – Chris