WPF установка меню.Иконка в коде
У меня есть папка изображений с png в ней. Я хотел бы установить значок MenuItem в этот png. Как написать это в процессуальном кодексе?
8 ответов
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 для вставки значка. Это самый простой способ
- щелкните правой кнопкой мыши на проекте в обозревателе решений
- выбрал свойства
- убедитесь, что вы находитесь на странице заявки.
- @ recources вы видите: значок и Манифест
- @ Icon: Нажмите кнопку Обзор и выберите значок.