1

Themes/Generic.xaml で定義されたテンプレートを持つ C# でカスタム コントロールを作成しました。コントロール (Themes/Generic.xaml と共に) は、DLL に出力するプロジェクトで定義されます。これが重要かどうかはわかりませんが、コントロールはサブフォルダーにあります。

メインの実行可能ファイルからコントロールを参照するとOnApplyTemplate()、コントロールの C# が呼び出されず、スタイル情報が適用されていない状態でコントロールが表示されます。

これはリリース ビルドでのみ発生します。デバッグ ビルドは正常に動作します。

コントロールをホストしているコントロールのリソース (Window.Resources など) でテンプレートを再定義すると、コントロールは正常に動作します。Visual Studio が Themes/Generic.xaml をコントロールにリンクしていないようです。

4

1 に答える 1

0

リリース出力フォルダー内に空の「en-US」フォルダーがあり、ローカリゼーション実験から残っていることがわかりました。どうやら、WPF/.NET エンジンは "en-US" フォルダーからコントロール テンプレートを読み込もうとして、失敗したときに、アセンブリで定義されたテンプレートに戻らなかったようです。

解決策は簡単でした - フォルダを削除してください。

于 2014-03-02T18:37:45.250 に答える