派生したユーザーコントロールからコントロールを派生させたいのですが、xamlがそれを解決するのに問題があります。ただし、最初は単純なシナリオです。MyControls.dllライブラリがあります。その中で、私は次のような.csファイルの「UserControl」に基づくコントロールを持っています
public class MyUserControl : UserControl { ... }
問題ない。次に、これから派生した2番目の(VISUAL)コントロールを作成します...そこで、この同じMyControls.dllライブラリでそれぞれNewFromMyUserControl.xaml.csおよびNewFromMyUserControl.csという新しいUserControlを実行します。
public partial class NewFromMyUserControl : MyUserControl { ... }
さて、Xamlでは...
<mylib:MyUserControl x:Class="MyControls.SubFolder1.NewFromMyUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mylib ="clr-namespace:MyControls" (blah blah) />
</mylib:MyUserControl>
これは問題なく動作します。また、簡単にするために、「MyUserControl」または「NewFromMyUserControl」クラスの実際のコードはありません...派生した実装をテストするだけです。
今、問題。別のライブラリ「MyBaselineControls.dll」があります。このライブラリには、派生したい実際のUserControlがあります...など
public class MyBaselineUserControl : UserControl { ... }
そして今、私は「MyUserControl」をこのような他のものから派生するように変更したいと思います
from
public class MyUserControl : UserControl { ... }
to
using MyBaselineControls;
public class MyUserControl : MyBaselineUserControl { ... }
この1行が変更されるとすぐに、コンパイラは次のように失敗します...
エラー2'MyControls.MyUserControl'は、XAMLを使用して定義されているため、XAMLファイルのルートにすることはできません。1行目位置19....何とか何とか
別のライブラリから派生したものから派生する問題はありますか?
ありがとう