wpf metro 新手笔记

【环境】VS2015附带的(Blend For Visual Studio 2015)

 

【安装】

先创建新的WPF程序,左侧工具栏右键项目,选择“管理NuGet程序包”

 

在“浏览”中输入metro,会自动匹配结果,选MahApps.Metro并完成下载安装,中间弹出的询问框选“是”

 

左侧工具栏选择MainWindow.xaml

 

修改MainWindow.xaml代码

1处将 <Window  改为 <Controls:MetroWindow 

2处添加一行    xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"

3处将 </Window>改为</Controls:MetroWindow>

 

修改MainWindow.xaml.cs代码

1处引用using MahApps.Metro.Controls;

2处改为MetroWindow

 

修改App.xaml代码为

<Application x:Class="WpfApplication.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! -->
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
                <!-- Accent and AppTheme setting -->
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Pink.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

 

运行,界面如下(默认是蓝色)

 

 

 

 

【改变主题风格】

在App.xaml中

 

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Pink.xaml" />

代表主题颜色,其中Pink可替换为“Red”, “Green”, “Blue”, “Purple”, “Orange”, “Lime”, “Emerald”, “Teal”, “Cyan”, “Cobalt”, “Indigo”, “Violet”, “Pink”, “Magenta”, “Crimson”, “Amber”, “Yellow”, “Brown”, “Olive”, “Steel”, “Mauve”, “Taupe”, “Sienna”

 

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />

代表风格(明、暗),其中BaseLight可替换为“BaseLight”, “BaseDark”

 

 

【diglog窗口】

先在MainWindow.xaml中的Button里加个Click="button_Click"

再在MainWindow.xaml.cs里加上

private async void button_Click(object sender, RoutedEventArgs e)
{
  MessageDialogResult clickresult = await this.ShowMessageAsync(this.Title, "您真的要修改吗?", MessageDialogStyle.AffirmativeAndNegative);
  if (clickresult == MessageDialogResult.Negative)//取消
  {
    return;
            }
  else//确认
  {
    //确认后的处理
  }
}

 

点击按钮之后的效果就是

 

 普通的弹出窗口就是

 

private async void button_Click(object sender, RoutedEventArgs e)
{
  await this.ShowMessageAsync("上机成功!", "请继续");
}

 

貌似在子线程内要加前面的await...

 

 

【给窗体左上角添加一个小图标】

下载安装这个包MahApps.Metro.Resources

 

 App.xaml里添加一行<ResourceDictionary Source="/Resources/Icons.xaml" />

 

 MainWindow.xaml中添加代码

<Controls: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_home}" />//其中appbar_home可以替换成其他,打出appbar_会自动补全
            </Rectangle.Fill> 
        </Rectangle>
      </Grid>
    </DataTemplate>
</Controls:MetroWindow.IconTemplate>

 

 

最后效果图

 

转载于:https://www.cnblogs.com/longzhankunlun/p/9451611.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值