无法找到并添加SurfaceUserControl

时间:2011-07-15 16:00:40

标签: c# .net wpf pixelsense

我可以在Surface环境中轻松创建UserControl并添加TextBox。以下是示例代码:

   <UserControl x:Class="ScatterViewSizingSample.FixedSizeChild"
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"                 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:local="clr-namespace:ScatterViewSizingSample"
         mc:Ignorable="d" local:PopupWindow.InitialSizeRequest="300,250"
         d:DesignHeight="300" d:DesignWidth="250">
<Grid Background="MediumSeaGreen">
    <TextBox HorizontalAlignment="Left" Name="textBox1" VerticalAlignment="Top"/>
  </Grid>
   </UserControl>

我尝试添加SurfaceUserControl和SurfaceTextBox,但我找不到从菜单中添加SurfaceUserControl。我将UserControl更改为s:SurfaceUserControl和Texbox更改为s:SurfaceTextbox,如下所示:

    <s:SurfaceUserControl x:Class="ScatterViewSizingSample.FixedSizeChild"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"                 
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:s="http://schemas.microsoft.com/surface/2008"    
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:local="clr-namespace:ScatterViewSizingSample"
         mc:Ignorable="d" local:PopupWindow.InitialSizeRequest="300,250"
         d:DesignHeight="300" d:DesignWidth="250">
<Grid Background="MediumSeaGreen">
    <s:SurfaceTextBox HorizontalAlignment="Left" Name="textBox1"/>
   </Grid>
 </s:SurfaceUserControl>

但系统显示错误'类型s:未找到SurfaceWindows'。我添加了Microsoft.Surface.Presentation和Microsoft.Surface.Presentation.Generic程序集引用。但它仍然显示错误。

我该如何解决?为什么系统不将SurfaceUserControl显示为UserControl?

2 个答案:

答案 0 :(得分:0)

使用Surface控件的应用程序需要使用SurfaceWindow作为root视觉,以便执行所有自定义触摸处理。我怀疑,因为你试图转换它,你可能仍然使用标准的窗口,它会给你这个错误。

答案 1 :(得分:0)

如果您正在开发2.0,则根据MSDN,SurfaceUserControl不再存在:

已在Surface 2.0中删除了SurfaceUserControl类。 Surface 1.0 SP1中需要SurfaceUserControl类来为用户控件添加触摸支持。但是,在.NET Framework 4中的UserControl类中添加了触摸支持。要转换代码,请从“s:SurfaceUserControl”的前面删除“s:Surface”,或使用Surface Migration PowerToy。 < / p>

Source