WPF コードで MenuItem.Icon を設定する
質問
pngを含む画像フォルダーがあります。MenuItemのアイコンをそのpngに設定したいと思います。これを手続き型コードでどのように記述すればよいでしょうか?
解決
menutItem.Icon = new System.Windows.Controls.Image
{
Source = new BitmapImage(new Uri("images/sample.png", UriKind.Relative))
};
他のヒント
<MenuItem>
<MenuItem.Icon>
<Image>
<Image.Source>
<BitmapImage UriSource="/your_assembly;component/your_path_here/Image.png" />
</Image.Source>
</Image>
</MenuItem.Icon>
</MenuItem>
画像もプロジェクト ファイルに含まれていて、リソースとしてマークされていることを確認してください。これで準備完了です :)
Arcturus の答えは、独立したフォルダーではなくプロジェクト内に画像ファイルがあることを意味するため、適切です。
したがって、コードでは次のようになります...
menutItem.Icon = new Image
{
Source = new BitmapImage(new Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))
}
これが私がそれを使用した方法です(この方法では、アセンブリに組み込む必要はありません)。
MenuItem item = new MenuItem();
string imagePath = "D:\\Images\\Icon.png");
Image icon = new Image();
icon.Source= new BitmapImage(new Uri(imagePath, UriKind.Absolute));
item.Icon = icon;
これは少し短いです:D
<MenuItem Header="Example">
<MenuItem.Icon>
<Image Source="pack://siteoforigin:,,,/Resources/Example.png"/>
</MenuItem.Icon>
</MenuItem>
vb.net を使用している場合、これを行うには、これを使用する必要があります。menuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))}
これが私にとってうまくいきました
<MenuItem Header="delete ctrl-d" Click="cmiDelete_Click">
<MenuItem.Icon>
<Image>
<Image.Source>
<ImageSource>Resources/Images/delete.png</ImageSource>
</Image.Source>
</Image>
</MenuItem.Icon>
</MenuItem>
Visual Studio を使用してアイコンを挿入することもできます。これが最も簡単な方法です
- ソリューション エクスプローラーでプロジェクトを右クリックします
- プロパティを選択しました
- 申し込みページにいることを確認してください。
- @ リソースが表示されます:アイコンとマニフェスト
- @アイコン:「参照」をクリックしてアイコンを選択します。
問題が解決しました。
所属していません StackOverflow