2016-01-26 3 views
2

Я стараюсь сделать ленту ToolBar. Мой вопрос заключается в том, что он не нашел ImageSource. Вот мой простой код:WPF ribbon ImageSource

<RibbonWindow x:Class="BooksDemo.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:BooksDemo" 
    Title="Books Demo App" Height="400" Width="600"> 

<Ribbon DockPanel.Dock="Top" > 
    <Ribbon.QuickAccessToolBar> 
     <RibbonQuickAccessToolBar> 
      <RibbonButton Command="local:BooksCommands.ShowBook" /> 
      <RibbonButton Command="local:BooksCommands.ShowBooksList" /> 
     </RibbonQuickAccessToolBar> 
    </Ribbon.QuickAccessToolBar> 

    <Ribbon.ApplicationMenu> 
     <RibbonApplicationMenu > 
      <RibbonApplicationMenuItem Header="Show _Book" /> 
      <RibbonSeparator /> 
      <RibbonApplicationMenuItem Header="Exit" Command="Close" /> 
     </RibbonApplicationMenu> 
    </Ribbon.ApplicationMenu> 


    <RibbonTab Header="Home"> 
     <RibbonGroup Header="Clipboard"> 
      <RibbonButton Command="Paste" Label="Paste" SmallImageSource="Images/cut.png" /> 
      <RibbonButton Command="Cut" SmallImageSource="Images/cut.png" /> 
      <RibbonButton Command="Copy" SmallImageSource="Images/copy.png" /> 
      <RibbonButton Command="Undo" LargeImageSource="Images/undo.png" /> 
     </RibbonGroup> 

       <RibbonGroup Header="Show"> 


      <RibbonButton LargeImageSource="Images/one.png" Label="Book" /> 
      <RibbonButton LargeImageSource="Images/list.png" Label="Book List" /> 
      <RibbonButton LargeImageSource="Images/grid.png" Label="Book Grid" /> 

     </RibbonGroup> 
    </RibbonTab> 

    <RibbonTab Header="Ribbon Controls"> 
     <RibbonGroup Header="Sample"> 
      <RibbonButton Label="Button" /> 
      <RibbonCheckBox Label="Checkbox" /> 
      <RibbonComboBox Label="Combo1"> 
       <Label>One</Label> 
       <Label>Two</Label> 
      </RibbonComboBox> 
      <RibbonTextBox>Text Box</RibbonTextBox> 
      <RibbonSplitButton Label="Split Button"> 
       <RibbonMenuItem Header="One" /> 
       <RibbonMenuItem Header="Two" /> 
      </RibbonSplitButton> 
      <RibbonComboBox Label="Combo2" IsEditable="False"> 
       <RibbonGallery SelectedValuePath="Content" MaxColumnCount="1" SelectedValue="Green"> 
        <RibbonGalleryCategory> 
         <RibbonGalleryItem Content="Red" Foreground="Red" /> 
         <RibbonGalleryItem Content="Green" Foreground="Green" /> 
         <RibbonGalleryItem Content="Blue" Foreground="Blue" /> 
        </RibbonGalleryCategory> 
       </RibbonGallery> 
      </RibbonComboBox> 
     </RibbonGroup> 
    </RibbonTab> 
</Ribbon>    

Также я объявил MainWindow.xaml.cs следующим образом:

public partial class MainWindow : RibbonWindow 

ошибка сообщение, что он не нашел путь к MyDirectory/BooksDemo/Image.

Почему это не работает. Может ли кто-нибудь помочь мне, пожалуйста.

ответ

1

Используйте это:

<RibbonButton LargeImageSource="pack://application:,,,/your_assembly_name;component/Images/grid.png" Label="Book Grid" /> 

Вы должны заменить your_assembly_name именем сборки без расширения.

EDIT:

Также убедитесь, что ваш образ построен как ресурс в параметрах файлов путем установки сборки поля действий по ресурсам: enter image description here

+0

Спасибо за ваш ответ, но он не работает. Я заметил, что когда я меняю RibbonWindow лентой, он распознает изображения, но, конечно, это не сработает! –

+0

@AymenRagoubi Не могли бы вы скопировать здесь ошибку, которую вы получаете? – Younes

+0

Ошибка сообщения «Не удалось найти часть пути» mypath \ Images \ one.png. Почему он ищет изображения в каталоге решений? Должен ли я добавить ссылку на сборку ленты? –

Смежные вопросы