WPF 界面定制

♦ 更换界面的最小化、最大化和关闭图标

1.在窗体的XMAL文件中,将窗体的WindowStyle属性设置为"None";

ShowInTaskBar属性设置窗体最小化时是否现在在任务栏中,设置为True显示在任务栏中,设置为False不显示在任务栏中。

2.在窗体最小化、最大化、关闭的地方添加3个按钮,修改按钮的模板信息,在里面添加<Label></Label>信息,代码类似

<Button x:Name="btn_min" Click="BtnMinClick" Margin="0,-14,32,0" Height="25" VerticalAlignment="Top"  d:LayoutOverrides="VerticalAlignment" RenderTransformOrigin="3.789,0.519" HorizontalAlignment="Right" Width="29">
    <Button.Template>
     <ControlTemplate>
      <Label  x:Name="tips_Min" MouseEnter="Tips_Min_MouseEnter" MouseLeave="Tips_Min_MouseLeave"  Foreground="White" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Cursor="Hand" >
       <Label.Background>
        <ImageBrush ImageSource="images/min1.png"/>
       </Label.Background>
      </Label>
     </ControlTemplate>
    </Button.Template>
   </Button>

其中需要导入制作好的按钮图标文件

3.按钮动态效果

这个效果可以通过两种方式实现,一种是后台C#代码实现,另一种是通过XAML的动画效果实现。

C#代码实现,需要添加鼠标进入事件和鼠标离开事件:

鼠标进入事件,

private void Tips_Close_MouseEnter(object sender, MouseEventArgs e)
        {
            Label labmin = (Label)sender;
            try
            {
                ImageBrush image = new ImageBrush(new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(this), "Images/close2.png")));
                image.Stretch = Stretch.Fill;
                labmin.Background = image;
            }
            catch (Exception ef)
            {
                MessageDialog.ShowMessage("error:" + ef.ToString(), this.Top, this.Left, this.Height, this.Width);//MessageDialog为自定义的窗体
            }
        }

鼠标离开事件,

private void Tips_Close_MouseLeave(object sender, MouseEventArgs e)
        {
            Label labmin = (Label)sender;
            try
            {
                ImageBrush image = new ImageBrush(new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(this), "Images/close1.png")));
                image.Stretch = Stretch.Fill;
                labmin.Background = image;
            }
            catch (Exception ef)
            {
                MessageDialog.ShowMessage("error:" + ef.ToString(), this.Top, this.Left, this.Height, this.Width);
            }
        }

4.添加鼠标左键按下拖动窗体功能

添加鼠标左键按下事件,在此事件中添加拖动方法

private void LeftKeyClick(object sender, MouseButtonEventArgs e)
        {
              this.DragMove();
        }

♦ 界面的圆角矩形

    在添加制作桌面应用程序时,希望应用程序的界面周围是圆角类型,这种情况下,就不能实现窗体的最大化后,界面布局中的也随着伸展开来,

窗体的最外层<Window></Window>中使用<Border></Border>,设置Border的属性CornerRadius,修改为

时间: 2024-10-06 16:24:17

WPF 界面定制的相关文章

浏览器扩展系列————在WPF中定制WebBrowser快捷菜单

原文:浏览器扩展系列----在WPF中定制WebBrowser快捷菜单 关于如何定制菜单可以参考codeproject上的这篇文章:http://www.codeproject.com/KB/books/0764549146_8.aspx?fid=13574&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26#xx0xx 本文主要讲述如何在这篇文章中的ShowContextMenu方法中弹出自己的Conte

准备.Net转前端开发-WPF界面框架那些事,值得珍藏的8个问题

题外话 不出意外,本片内容应该是最后一篇关于.Net技术的博客,做.Net的伙伴们忽喷忽喷..Net挺好的,微软最近在跨平台方面搞的水深火热,更新也比较频繁,而且博客园的很多大牛也写的有跨平台相关技术的博客.做.Net开发块五年时间,个人没本事,没做出啥成绩.想象偶像梅球王,年龄都差不多,为啥差别就这么大.不甘平庸,想趁机会挑战下其他方面的技术,正好有一个机会转前段开发. 对于目前正在从事或者工作中会用到WPF技术开发的伙伴,此片内容不得不收藏,本片介绍的八个问题都是在WPF开发工作中经常使用到

准备.Net转前端开发-WPF界面框架那些事,搭建基础框架

题外话 最近都没怎么写博客,主要是最近在看WPF方面的书<wpf-4-unleashed.pdf>,挑了比较重要的几个章节学习了下WPF基础技术.另外,也把这本书推荐给目前正在从事WPF开发的程序猿. 现在书看完了也该实践实践,写了个WPF项目,主要以界面框架为主.  最近的几篇博客也主要围绕这个WPF项目,介绍下WPF搭建界面框架以及怎样写自定义的Windows界面和控件. 这也许是写最后几篇关于.Net技术的博客.做.Net开发也快五年了,感觉自己搞得不温不火,另外工作中正好有一个机会转做

WPF编程,获取句柄将外部程序嵌入到WPF界面。

原文:WPF编程,获取句柄将外部程序嵌入到WPF界面. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/86648114 1.增加引用 2.增加命名空间 ? ? ? ? xmlns:wfh="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" ? ? ? ? xmlns:wfc=&

Actipro Ribbon For WPF 界面控件免费下载地址

Actipro Ribbon可以添加ribbon用户界面到你的程序中,功能包含:ribbon大小调整.程序菜单.QAT.嵌入的多种控件.多种布局选项.按键提示.屏幕提示.WPF命令模式用法.多种样式.XAML布局.RTL支持.兼容XBAP等. 具体功能: 全部按照微软ribbon用户界面精髓来设计 Ribbon bar 拥有可以分组且可以包含子窗口的Tab 嵌入的控件包含:按钮.可选择按钮.弹出按钮.分割按钮,可选择的分割按钮.单选按钮.文本框.组合框.字体组合框.字体大小组合框.分隔条.标签分

WPF界面按钮美化

在App.xaml里加入全局按钮样式 <Application x:Class="WpfButton.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WpfButton&quo

使用Blend设计出符合效果的WPF界面

之前不会用blend,感觉好难的,但美工给出的效果自己有没办法实现,所以研究了一下blend,感觉没有想象中的那么难 废话不多说,开始界面设计 今天拿到美工给的一个界面效果图 这个界面说实话,还可以吧,勉强说得过去.拿到界面效果图,难的两个部分都让我框起来的,这一看就是wpf里面的控件TabControl美化而来,其他部分都是很好弄得,这一篇我们下来美化一个tabControl控件.如下图: 这里我们借助vs 2015 自带的blend,,这个软件安装vs2015就会默认安装上. 我们来新建一个

WPF界面的异步后台加载

private void Init() { BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += (s, e) => { this.MainStackPanel.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (ThreadStart)delegate() { Load(); }); }; worker.RunWor

彩票软件3)wpf界面布局

捣鼓了好几天,每天看看资料,看看代码,一边玩QQ游戏,玩CS等, 大概每天花费半小时吧,最终弄了这么个界面,自己都觉的丑, 最终面世的时候找个美工搞搞吧. 真是很丑很丑很丑啊 遇到的问题主要是布局 核心就是 控件窗口的大小缩放自动保持布局 搞了好几天,最后发现老简单了, 用 Binding ElementName= 窗口大小 和 HorizontalContentAlignment="Left" VerticalContentAlignment="Top"就解决了