2

私はいくつかの同様のプロパティを持つ必要があるUserControlsのセットを持っています。したがって、これらのプロパティを定義し、.xaml.csと.g.csファイルを更新してこの基本クラスから継承するUserControlの抽象サブクラスを定義しました。すべてコンパイルされ、うまく動作します。すばらしいです!しかし... .g.csファイルが生成され、再生成されるので、UserControlではなく、ベースクラスから継承するようにBlendまたはVisual Studioに指示するにはどうすればよいですか?UserControl抽象サブクラスから継承する

答えて

6

あなたはXAMLに名前空間でユーザーコントロールの宣言を先頭に付加するビットを変更する必要があります。

MYNAMESPACEは、名前空間(当たり前!)で、MyBaseControlは、お使いのベースクラスであり、MyControlとは、継承コントロールである
<local:MyBaseControl x:Class="MyNameSpace.MyControl" 
    xmlns:local="clr-namespace:MyNameSpace" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

    <!-- Content --> 
</local:MyBaseControl> 

MyBaseControlから。 x:Classの部分は同じ名前空間にある必要はなく、例の場合と同じようにしておきました。

詳細情報herehereです。

+0

これがうまくコンパイルされている間、Expression Blendは私に 'Exception: "MyBaseControl"のインスタンスを作成できません。ブレンドを使用できるようにするための方法はありますか? –

+0

スティーブ:ローカルタグを閉じるとコードに誤字があります。私はまだ編集する権限を持っている必要はありません。 –

+0

問題が発生した場合の注意事項:ローカル:ネームスペース内のタグを見つけることができないとコンパイラから通知された場合、ローカルネームスペースを含むアセンブリがビルドされていない可能性があります。 –

関連する問題