无法找到并添加SurfaceUserControl

本文关键字:添加 SurfaceUserControl | 更新日期: 2023-09-27 18:02:07

我可以很容易地在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>

但是系统显示错误' type s:SurfaceWindows does not found'我添加了Microsoft.Surface.Presentation和Microsoft.Surface.Presentation. generic assembly reference。但是仍然显示错误。

我该如何修复它?为什么系统不显示SurfaceUserControl为UserControl?

无法找到并添加SurfaceUserControl

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

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

SurfaceUserControl类已在Surface 2.0中删除。Surface 1.0 SP1中需要使用SurfaceUserControl类来为用户控件添加触摸支持。然而,在。net Framework 4中,触摸支持已经被添加到UserControl类中。要转换代码,请从"s:SurfaceUserControl"的前面删除"s:Surface",或者使用Surface Migration PowerToy