MahApps.Metro "S документация има икона в горната лява част на лентата с инструменти. Това се нарича a Икона на прозореца, и аз имам проблеми с това, да работя.
Имам файл, наречен image.ico и аз го добавих като ресурс в VisualStudio 2013, като отиде Project -> myproject Properties... -> Resources Tab -> Add Existing File... -> Selecting image
Файлът сега е посочен като ресурс, наречен "изображение", като постоянството му е зададено на "Свързано при компилиране".
Опитах две различни тактики, за да го накарам да работи Icon
и ShowIconOnTitleBar
настроики.
Method1
<Controls:MetroWindow x:Class="myprogram.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
Title="MyProgram" Height="400" Width="800"
BorderThickness="2"
BorderBrush="{DynamicResource AccentColorBrush}"
SaveWindowPosition="True"
Icon="{StaticResource image}"
ShowIconOnTitleBar="True">
Това ми дава грешка за Icon
опция. Аз вярвам, че или поставям Ресурса неправилно, или Иконата иска съвсем друго.
Вторият метод е все още да има ShowIconOnTitleBar="True"
, но задава всичко друго в един IconTemplate
.
Method2
<Controls:MetroWindow x:Class="myprogram.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
Title="MyProgram" Height="400" Width="800"
BorderThickness="2"
BorderBrush="{DynamicResource AccentColorBrush}"
SaveWindowPosition="True"
ShowIconOnTitleBar="True">
<Controls:MetroWindow.IconTemplate>
<DataTemplate>
<Grid Width="{TemplateBinding Width}"
Height="{TemplateBinding Height}"
Margin="4"
Background="Transparent"
RenderOptions.EdgeMode="Aliased"
RenderOptions.BitmapScalingMode="HighQuality">
<Image Source="{StaticResource image}"></Image>
</Grid>
</DataTemplate>
</Controls:MetroWindow.IconTemplate>
Това ми дава грешката "Ресурсът" изображението "не може да бъде решен".
Всяка помощ е оценена.
Отговори:
1 за отговор № 1Щракнете с десния бутон върху вашия проект, Добави -> Съществуващ елемент ... и след това изберете желания ico
файл.
Във вашия XAML задайте ico
името на файла на Icon
собственост по-долу:
<Controls:MetroWindow x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
xmlns:local="clr-namespace:WpfApplication1"
mc:Ignorable="d"
Icon="mahapps.metro.logo2.ico"
Background="LightGray"
Title="My Demo MetroWindow With Icon" Height="350" Width="525">
<Grid>
</Grid>