この質問にはおそらく「重複した質問」のコメントがたくさん寄せられることはわかっていますが、機能する、または単純に「絶対に避けてください」ではない回答をまだ見たことがありません。しかし、ここでは、「ControlA_Project」というプロジェクトで「ControlA」と呼ぶコントロールを作成しました。「ControlA」という別のプロジェクトで「ControlA」を継承する「ControlB」というコントロールで、その仮想メソッドの一部をオーバーライドするつもりでした。 ControlB_Project" . 「ControlA」には、ファイルへの保存と読み込みから変更したい保存と読み込みメソッドがあり、データベースへの保存と読み込みも必要です(後で別の保存と読み込みタイプが必要な場合は、それらのメソッドを再度オーバーライドできます) . 私が抱えている問題は、もともと「ControlA」を持っていたことです
コンポーネント 'ControlB_Project.ControlB' には、URI '/ControlA_Project;component/usercontrols/ControlA.xaml' で識別されるリソースがありません。
エラーをグーグルで検索すると、ユーザーコントロールから継承できないという結論に達しました(または、議論のために、それは良い考えではありませんでした)。そこで、コントロールをユーザー コントロールからカスタム コントロールに変更しました。ただし、これは別の問題につながります.コントロールのテンプレートは、ユーザーコントロールのようにコードビハインド(つまりOn_Click)にリンクせず、ビヘイビアーを単純にオーバーライドする簡単な方法はありません(私の知る限り) . ControlAsテンプレートをコピーして貼り付け、数行を変更することでControlBを再テンプレート化できることはわかっていますが、controlAにはそのまま大きなテンプレートがあり、複数のコピーを作成するとスペースが無駄になります。簡単に言えば、wpfでコントロールの動作を変更する正しい方法はありますか?