2016-03-07 5 views
1

У меня есть окно и вы хотите установить изображение вместо текста заголовка, но оно отображает только строку пространства имён изображений.Как установить изображение в заголовке окна в XAML с помощью MashAPPs.Metro

Код:

<Controls:MetroWindow x:Class="AdminControlCenter.View.MainView" 
    ... 
    Title="{Binding ImageViewModel.TitleBarImage}" Height="400" Width="600" 
    mc:Ignorable="d" 
    d:DataContext="{d:DesignInstance vm:MainViewModel}" Icon="{Binding ImageViewModel.Icon}"> 

Изображение:

enter image description here

Икона показана правильно и изображение сохраняется как BitmapImage.

Как настроить изображение в заголовке окна вместо обычного текста?

+0

Вместо этого, почему не сохраняйте изображение в корневой папке приложения и укажите путь к изображению. – VVN

+0

Я делаю программу с шаблоном MVVM – SeeuD1

+0

Значок окна будет общим для всех окон правильно? Так почему вы идете для шаблона MVVM? Просто укажите путь к значку. – VVN

ответ

0

я понял это с LeftWindow Команда для изображения и правого окна в меню и т.д ..

Код:

<Controls:MetroWindow.LeftWindowCommands> 
<Controls:WindowCommands> 
    <Image Source="{Binding ImageViewModel.TitleBarImage}"/> 
</Controls:WindowCommands> 
</Controls:MetroWindow.LeftWindowCommands> 

<Controls:MetroWindow.RightWindowCommands> 
    <Controls:WindowCommands> 
     <VisualBrush Stretch="Fill"/> 
     <StackPanel Name="menuHolder" Orientation="Horizontal"> 
      <Menu Name="MenuBar"> 
       <MenuItem Name="Options" Header="Options" > 
        <MenuItem Name="Settings" Header="Settings"/> 
        <MenuItem Name="Close" Header="Close"/> 
       </MenuItem> 
      </Menu> 
     </StackPanel> 
    </Controls:WindowCommands> 
</Controls:MetroWindow.RightWindowCommands> 

Изображение

enter image description here

1

Поскольку вы используете MahApps управления вам нужно сделать это следующим образом:

<Controls:MetroWindow.IconTemplate> 
    <DataTemplate> 
     <Grid Width="{TemplateBinding Width}" 
       Height="{TemplateBinding Height}" 
       Margin="8 8 0 8" 
       Background="Transparent" 
       RenderOptions.EdgeMode="Aliased" 
       RenderOptions.BitmapScalingMode="HighQuality"> 
      <Rectangle Fill="White"> 
       <Rectangle.OpacityMask> 
        <VisualBrush Visual="{StaticResource appbar_resource_group}" Stretch="Uniform"/> 
       </Rectangle.OpacityMask> 
      </Rectangle> 
     </Grid> 
    </DataTemplate> 
</Controls:MetroWindow.IconTemplate> 

Вы можете использовать элемент управления Image для визуальной кисти, если вам нужно.

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

  • Нет связанных вопросов^_^