WPFアプリケーションでVS2008ImageLibrary/Actions / pngformatのいくつかのアイコンを使用して、WinFormsの[標準アイテムの挿入]コマンドのように、よりVisualStudioのルックアンドフィールを取得したいと考えています。
画像をリソースとして追加し、xamlファイルで参照しました。
<DockPanel.Resources>
<Image x:Key="NewIcon" Source="Toolbar Images/NewDocumentHS.png" Height="16" Width="16"/>
</DockPanel.Resources>
そして、メニューとツールバーに画像を追加しました
<MenuItem Command="ApplicationCommands.New" Icon="{StaticResource NewIcon}"/>
<!-- ... -->
<Button Command="ApplicationCommands.Save"><StaticResourceExtension ResourceKey="SaveIcon"/></Button>
ただし、メニューを開くと、ボタンがないかのようにツールバーからアイコンが消えます。この種の問題は、.NETがVistaアイコン/圧縮PNGをサポートしていないために発生することを他の場所で読んだことがありますが、私はこれがまったく同じ問題かどうかはわかりません。フォーマットを変更してこれを回避する試みは失敗したか、最適ではない結果(透明性の喪失など)が得られました。誰かがこれを行うためのより良い方法を知っていますか?
編集:この問題を抱えている他の人にとって、参照ごとに<DockPanel.Resources>タグに異なるキーを使用して重複エントリを作成することは、十分に機能的な回避策のようですが、必要に応じて画像が再び消えることが心配です。何らかの理由でリロードされます。