2010-11-26 16 views
13

ben aşağıdaki kod parçasını (XAML C#) var:bir WPF menuitem.icon içine kaynak dosyadan bir görüntü elde etmek için nasıl

 <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> 

Ve lang adı verilen bir görüntüyü içeren bir kaynak dosyası adında images.resx .png. Görüntüyü Menü Öğesi için bir simge olarak nasıl ekleyebilirim? Daha iyi bir yolu var mı?

cevap

28

Jason'ın dediği gibi, resimlerinizi projenize Kaynak olarak eklemek daha iyidir.

  • seç sol ComboBox Resimleri Seçin projeniz için

    1. Aç "Özellikler"
    2. Seç Dikey sekme Kaynakları - Doğru ComboBox "Kaynak Ekle> ... Varolan Dosya Ekle"
    3. Resmi bulun Eğer örneğin "C1.png" (otomatik projenizin kök Kaynaklar klasörüne kopyalanacaktır) yeni eklenen Kaynak Görüntü
    4. özelliklerini seçin kullanmak istiyorum
    5. Özelliklerde, Kaynak Oluştur eylemini ayarlayın
    6. Menu'yi içeren .xaml dosyasının tasarımcısını açın ve MenuItem.Icon'da bir Görüntü ekleyip imleci Görüntü üzerine yerleştirin. Şimdi Kaynak Mülkiyet ve mevcut tüm görüntü kaynaklarına alt text sembolü seçebilir özellikleri itibaren

      <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 görüntülenecektir. Ayrıca, "Ekle" yi diskte bir görüntü dosyasını bulabilir bu diyalog ve her şeyden adımlardan

    alt text

    Visual Studio tarafından sizin için yapılacaktır.

    alt text

    (tabii aynı zamanda elle eklenebilir) böyle bir şey

    <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

    İkiniz için teşekkürler! anladım! –

    1

    Bunu, Menu.Icon'a ekleyebilirsiniz.

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

    yolu nedir bakacağız xaml Image.Source için ortaya çıkan uri? kaynak dosya adı? veya kaynak dizini? –

    +0

    Üzgünüz, daha iyi açıklamadım. Görüntülerin RESX dosyasına yerleştirilmemesinin ve bunları projenize kaynak olarak eklemenin daha iyi bir yol olduğunu düşünüyorum. Bu, yukarıdaki kodu kullanmanıza izin verecektir. – Jason

    İlgili konular