WPF 自定义Metro Style窗体
2021-05-14 08:28
标签:btn content tor 情况 制作 button 显示 null tran 为了使WPF程序在不同版本的操作系统上保持一致的显示效果,我们需要重写WPF控件样式。这篇博客将展示如何创建一个Metro Style的WPF窗体。 首先先看一下最终窗体的效果图, 通过截图我们可以看出来这个窗体由两部分组成,顶部为最小化和关闭按钮,其他区域为窗体的显示区域。请看下面的具体实现代码, MetroWindow样式: 新建一个ModernWindow类, C# 现在我们就完成了Metro Style窗体了,现在对其进行应用。请看MainWindow实现: C#: 现在就完成了Metro Style窗体的制作。 代码请点击这里下载。 感谢您的阅读。 WPF 自定义Metro Style窗体 标签:btn content tor 情况 制作 button 显示 null tran 原文地址:http://www.cnblogs.com/wangchaoyuana/p/7523542.html public class ModernWindow : Window
{
private Button CloseButton;
private Button MinButton;
private TextBlock WindowTitleTbl;
public ModernWindow()
{
this.Loaded += ModernWindow_Loaded;
}
private void ModernWindow_Loaded(object sender, RoutedEventArgs e)
{
// 查找窗体模板
ControlTemplate metroWindowTemplate
= App.Current.Resources["MetroWindowTemplate"] as ControlTemplate;
if (metroWindowTemplate != null)
{
CloseButton = metroWindowTemplate.FindName("CloseWinButton", this) as Button;
MinButton = metroWindowTemplate.FindName("MinWinButton", this) as Button;
CloseButton.Click += CloseButton_Click;
MinButton.Click += MinButton_Click;
WindowTitleTbl = metroWindowTemplate.FindName("WindowTitleTbl", this) as TextBlock;
}
}
private void CloseButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
Close();
}
private void MinButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
this.WindowState = System.Windows.WindowState.Minimized;
}
///
XAML: public partial class MainWindow : ModernWindow
{
public MainWindow()
{
InitializeComponent();
}
}
自Win8发布以来,越来越多的桌面应用开始实现Metro样式。现在也有很多WPF MetroUI库,例如:http://mui.codeplex.com/。我们可以根据项目的实际情况选择现有的Metro UI/Control,当然也可以自己写。
文章标题:WPF 自定义Metro Style窗体
文章链接:http://soscw.com/index.php/essay/85529.html