2010-11-26 30 views
13

I次のコード(XAMLのC#)があります。WPFのmenuitem.iconにリソースファイルから画像を取得する方法

 <Menu IsMainMenu="True" DockPanel.Dock="Top"> 
      <MenuItem Name="fileMenu" Header="_File" /> 
      <MenuItem Name="editMenu" Header="_Edit" /> 
      <MenuItem Name="setupMenu" Header="_Setup"> 
       <MenuItem Header="_Language"> 
        <MenuItem.Icon> 
         //I want to insert image here 
        </MenuItem.Icon> 
       </MenuItem> 
      </MenuItem> 
      <MenuItem Name="helpMenu" Header="_Help" /> 
     </Menu> 

ラングと呼ばれる画像を含むリソースファイルの名前images.resxを.png。 イメージをメニューアイテムのアイコンとして挿入するにはどうすればよいですか? 良い方法がありますか?

答えて

28

Jasonによると、画像をリソースとしてプロジェクトに追加する方がよいでしょう。

プロジェクトの
  1. 開く「プロパティ」
  2. 選択垂直タブのリソース
  3. 選択し、左コンボボックスから
  4. を画像を選択し、「リソースの追加 - >既存のファイルを追加...」右コンボボックスから
  5. 「C1.png」などの画像を探します(プロジェクトのルートにあるリソースフォルダーに自動的にコピーされます)
  6. 新たに追加されたリソースイメージのプロパティを選択してください
  7. プロパティでビルドアクションをリソースに設定する
  8. メニューを含む.xamlファイルのデザイナを開き、MenuItem.IconにImageを追加して、Imageにカーソルを置きます。あなたは今、ソースプロパティと、使用可能なすべての画像リソース上alt text記号を選択することができますプロパティから

    <Menu IsMainMenu="True" DockPanel.Dock="Top"> 
        <MenuItem Name="fileMenu" Header="_File" /> 
        <MenuItem Name="editMenu" Header="_Edit" /> 
        <MenuItem Name="setupMenu" Header="_Setup"> 
         <MenuItem Header="_Language"> 
          <MenuItem.Icon> 
           <Image/> 
          </MenuItem.Icon> 
         </MenuItem> 
        </MenuItem> 
        <MenuItem Name="helpMenu" Header="_Help" /> 
    </Menu> 
    

XAMLが表示されます。あなたはまた、「追加」を選択し、ディスク上のイメージファイルを見つけることができ、このダイアログと上記のすべてのステップから

alt text

は、Visual Studioによって自動的に行われます。

alt text

(ofcourseのも手で追加​​することができます)このような何か

<Menu IsMainMenu="True" DockPanel.Dock="Top"> 
    <MenuItem Name="fileMenu" Header="_File" /> 
    <MenuItem Name="editMenu" Header="_Edit" /> 
    <MenuItem Name="setupMenu" Header="_Setup"> 
     <MenuItem Header="_Language"> 
      <MenuItem.Icon> 
       <Image Source="/MenuIconImage;component/Resources/C1.png" /> 
      </MenuItem.Icon> 
     </MenuItem> 
    </MenuItem> 
    <MenuItem Name="helpMenu" Header="_Help" /> 
</Menu> 
+0

お互いにありがとう!とった! –

1

これをMenu.Iconに追加できます。

<Image> 
    <Image.Source> 
    <BitmapImage UriSource="/ASSEMBLYNAME;component/PATH/IMAGE.png" /> 
    </Image.Source> 
<Image> 
+0

パスとは何ですかを見ていきますXAMLでImage.Sourceの結果のURI?リソースファイルの名前?またはリソースディレクトリ? –

+0

申し訳ありませんが、私は良く説明しませんでした。私はもっ​​と良い方法は、画像をRESXファイルに配置せず、リソースとしてプロジェクトに追加することだと思います。これにより、上記のコードを使用することができます。 – Jason

関連する問題