2

MahApps.Metro を使用する WPF アプリケーションでウィンドウ アイコンを設定しようとしています。ウィンドウの XAML の後に定義した静的リソースをウィンドウのアイコンに設定する方法がわかりません。

以下は XAML です。必要なリソースは次のIcons.xamlとおりです。

<controls:MetroWindow x:Class="Test1.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="MainWindow" Height="350" Width="525" WindowState="Maximized">

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colours.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />

            <ResourceDictionary Source="/Resources/Icons.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>

ウィンドウでリソース使用する方法の例を次に示します。

<Rectangle>
    <Rectangle.Fill>
        <VisualBrush Visual="{StaticResource appbar_alien}" />
    </Rectangle.Fill>
</Rectangle>

appbar_alienウィンドウのアイコンとして設定するにはどうすればよいですか?

4

1 に答える 1

5

MahApps MetroWindow でアイコンが大きすぎる ( MahApps.Metroを使用すると、アプリケーション アイコンがタイトル バーの高さまで伸びる) という質問に答えたところ、同じ手法で解決策が得られる可能性があります。

基本的に、MetroWindow.IconTemplate プロパティを設定する必要があります。

<MahApps:MetroWindow.IconTemplate>
    <DataTemplate>
        <Grid Width="{TemplateBinding Width}"
                 Height="{TemplateBinding Height}"
                 Margin="4"
                 Background="Transparent"
                 RenderOptions.EdgeMode="Aliased"
                 RenderOptions.BitmapScalingMode="HighQuality">
                 <Rectangle>
                     <Rectangle.Fill>
                         <VisualBrush Visual="{StaticResource appbar_alien}" />
                     </Rectangle.Fill>
                 </Rectangle>
        </Grid>
    </DataTemplate>
</MahApps:MetroWindow.IconTemplate>

「/Resources/Icons.xaml」によっては、ストレッチ/スケーリングが必要になる場合があります。

于 2014-06-10T16:03:04.260 に答える