如何在页面XAML中为UWP添加自定义面板?

时间:2016-03-28 09:38:30

标签: c# xaml winrt-xaml win-universal-app windows-10-universal

所以我制作了一个如下所示的自定义面板:

 public class CustomPanel : Panel
 { 
    protected override Size MeasureOverride(Size constraint)
    {
      ...
    }  
    protected override Size ArrangeOverride(Size arrangeSize)
    {
     ...
    }
}

在我的项目中,我有CustomPanel.cs文件。 现在我希望能够将此自定义面板放在我的MainPage.xaml中,如下所示:

<Page x:Class="CustomPanelProject.Views.MainPage"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:local="using:CustomPanelProject.Views"
      xmlns:control="using:CustomPanelProject.Controls"
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
      mc:Ignorable="d">

<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
            Orientation="Vertical">
    <control:CustomPanel>

    </control:CustomPanel>
</StackPanel>

所以我认为这种方法可行,但设计师会继续显示此错误消息:

  

名称&#34; CustomPanel&#34;命名空间中不存在&#34;使用:CustomPanelProject.Controls&#34;。

我错过了什么?也许面板应该有一个像用户控件一样的相关xaml文件?

1 个答案:

答案 0 :(得分:1)

正如评论中所提到的,我的命名空间名称存在问题。所以我的命名空间拼写错误。非常愚蠢的错误。