簡體   English   中英

無法引用自定義用戶控件

[英]Can't refer to a custom user control

我有一個自定義用戶控件,我想將其包含在主頁中。
ColorPalette.xaml.h (它還包括xamlxaml.cpp文件,只是我沒有發布它們)

namespace Colibry
{
    namespace Views {
        [Windows::Foundation::Metadata::WebHostHidden]
        public ref class ColorPalette sealed
        {
        public:
            ColorPalette();
        };
    }
}

MainPage.xaml

<Page
    x:Class="Colibry.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:Colibry"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:cc="clr-namespace:Colibry.Views;assembly:Colibry"
    mc:Ignorable="d">
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <cc:ColorPalette></cc:ColorPalette>
    </Grid>
</Page>

但是xmlns:cc="clr-namespace:Colibry.Views;assembly:Colibry"輸出錯誤:

Универсальныйкодресурса(URI)“ clr命名空間:Colibry.Views; assembly:Colibry” Colibry E:\\ Projects \\ Colibry \\ Colibry \\ MainPage.xaml

對於英國人:

URI“ clr-namespace:Colibry.Views; assembly:Colibry”不是名稱空間的標識符。 Colibry E:\\ Projects \\ Colibry \\ Colibry \\ MainPage.xaml

如何解決? 我只學習C ++ / XAML。

WPF / Silverlight / Windows Phone 8方式:

xmlns:controls="clr-namespace:MyApp.Controls"

WinRT / Universal App方式:

xmlns:controls="using:MyApp.Controls"

使用一個平台的語法將無法在另一個平台上編譯,反之亦然。 “ clr-namespace和using”之間有很小的區別。這兩篇文章對此進行了更詳細的討論。 WPF的XAML命名空間和命名空間映射XAMLXAML命名空間和命名空間映射

最重要的是,您可以將“ clr-namespace”更改為“ using”,並刪除所有程序集標記和分號(將推斷出程序集)。 結果看起來像這樣:

  xmlns:cc="using:RefCustomControlTest"

我已經使用了像下面的代碼這樣的自定義usercontrol,它工作得很好。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
  <cc:ColorPalette x:Name="test" />
</Grid>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM