[英]Can't refer to a custom user control
我有一个自定义用户控件,我想将其包含在主页中。
ColorPalette.xaml.h (它还包括xaml
和xaml.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命名空间和命名空间映射XAML和XAML命名空间和命名空间映射 。
最重要的是,您可以将“ 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.