質問

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

役に立ちましたか?

解決

UserControl宣言の前に名前空間を付けるには、XAMLを少し変更する必要があります。

<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>

MyNameSpaceがネームスペース(duh!)である場合、MyBaseControlはベースクラスであり、MyControlはMyBaseControlを継承するコントロールです。 x:Class部分は同じ名前空間にある必要はありません。例では同じままにしました。

詳細こちらおよびこちら

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top