私はサードパーティのコントロールを拡張しようとしています.ComboBoxです(標準のSilverlightのものではありませんが、この質問には関係ありません)。これを行うには、新しいテンプレート コントロールをコントロール プロジェクトに追加し、新しいコントロールを Control ではなく ComboBox から継承するように変更します。generic.xaml ファイルにスタイルが作成されているので、挿入されたデフォルトの境界線を削除してから、PopupTemplate のプロパティ セッターを追加します。
私の問題は、このようにすると、コンボボックスが Silverlight アプリケーションで (目に見えて) レンダリングされなくなることです。ただし、行をコメントアウトすると、拡張機能のコンストラクターで
this.DefaultStyleKey = typeof(MyComboBox);
PopupTemplate xaml ビットをメインの Silverlight ページに配置すると、正しくレンダリングされます。ポップアップ テンプレートをコントロール ライブラリ内で宣言したいのですが、これは通常の Template プロパティも定義する必要があるということですか? 明示的に指定していないものは基本コントロールから継承する必要があると考えるのは間違っていますか?