あなたのコードはうまくいくはずです。抽象基底クラスと、そのクラスに基づいた新しいコントロールを作成しました。 xmlns:local="using:UWPTest.Controls"
は、名前空間PartBase
で正しいことを
<local:PartBase
x:Class="UWPTest.Controls.MyUserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:UWPTest.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400">
<Grid>
<Button>Test</Button>
</Grid>
</local:PartBase>
ダブルチェックがで宣言されている。そして、あなたのソリューションとエラーが離れて行く必要があります再構築(リビルドしていない場合は、エラーが表示されます)。
<Page
x:Class="UWPTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="using:UWPTest.Controls"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<controls:MyUserControl1 />
</Grid>
</Page>
注xmlns:controls
正しい名前空間を指す:ページ(例えばメインページ)私は単にコントロールを使用することができるで
。デザイナーは、あなたがアプリケーションを再構築するまでエラーを返すでしょう。
すべてがここに構築され、アプリケーションが実行されるので、名前空間の宣言をすべてダブルチェックしてもエラーが発生した場合は、オンラインでreproを実行する必要があります。
SOの話題はなんですか?いいねあなたは何歳ですか? –
MyPartのXAMLで 'local'という名前空間をどのように定義しますか? –
localは、PartBaseが定義されている名前空間を表します。だからすべてうまいです。 @バートの答えに私のコメントを参照してください - それはおそらくVS 2017のバグです。それはテストアプリケーションでは動作しますが、 "メイン"アプリケーションでは動作しません。 –