문제

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
  • @ 아이콘 : 찾아보기를 클릭하고 아이콘을 선택하십시오.

문제 해결됨.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top