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를 사용하여 아이콘을 삽입 할 수도 있습니다. 이것은 가장 쉬운 방법입니다
- 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오
- 특성을 선택했습니다
- 응용 프로그램 페이지에 있는지 확인하십시오.
- @ 당신이 보는 것을 다시 보았습니다 : Icon and Manifest
- @ 아이콘 : 찾아보기를 클릭하고 아이콘을 선택하십시오.
문제 해결됨.
제휴하지 않습니다 StackOverflow