当前位置:网站首页 / WPF / 正文

[WPF4.5] AYUI揭秘 - 使用教程1 [AyWindow]

时间:2015年06月02日 | 作者 : aaronyang | 分类 : WPF | 浏览: 3587次 | 评论 3

出场控件: AyWindow,ShowCurrentTime

2015-6-9 14:15:43 

AyWindow增加  三击最大化或者还原窗体

增加 MinWidth和MinHeight的 调整大小限制

  1. 新建空白WPF应用程序AYUI ,拷贝你得到的Ay.Framework.WPF.zip(当前版本V2.9.1      大小 :45564KB)


Image 3.png

解压文件夹,你就拥有了AYUI (AYUI是AY自己开发的一套WPF 企业应用程序的UI)

(本框架未融入3D模型演示控件,未融入浏览器控件,但是后面会教你怎么使用这两个问题的解决方案,本框架融入海康威视 监控WPF版本和控制,所以文件包有点大 )

在当前解决方案中引入 Ay.Framework.WPF 源码,设置AYUI.DEMO和Ay.Framework.WPF的生成目录为..\..\bin\

AYUI.DEMO 引入Ay.Framework.WPF类库 和 DotNet.Utilities.dll,DotNet.Utilities.dll是一个.NET常用类库的集合,当然自己修改了部分代码

如果你的项目需要Config相关, 按照AY的风格,喜欢新增 Config文件夹,然后新建 Config.xml,并设置文件属性 - 如果较新则复制,生成操作是无

在AYUI.DEMO的app.config中  设置 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings configSource="Config\Config.xml"></appSettings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

我在config.xml中增加了

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
  <add key="AYUI.Version" value="2.9.1"/>
  <add key="AYUI.WebUri" value="www.ayjs.net"/>
</appSettings>

你的所有配置都可以在这里写

Image 5.png

打开App.xaml.cs设置主题

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
using Ay.Framework.WPF.Controls;

namespace AYUI.DEMO
{
    /// <summary>
    /// App.xaml 的交互逻辑
    /// </summary>
    public partial class App : Application
    {

        protected override void OnStartup(StartupEventArgs e)
        {
            //设置整个项目的资源主题
            Application.Current.ApplyTheme("Default");

            base.OnStartup(e);

        }
    }
}

引入    xmlns:control="clr-namespace:Ay.Framework.WPF.Controls;assembly=Ay.Framework.WPF"

然后窗体:

<control:AyWindow x:Class="AYUI.DEMO.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:control="clr-namespace:Ay.Framework.WPF.Controls;assembly=Ay.Framework.WPF"
        ShadowMargin="0"  CloseButtonMargin="0,0,8,0" WindowStartupLocation="CenterScreen"
        
        Title="AYUI的DEMO,来自www.ayjs.net 杨洋" Height="800" Width="1200">
                   
    <Grid>
        
    </Grid>
</control:AyWindow>

后台继承AyWindow

using Ay.Framework.WPF.Controls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace AYUI.DEMO
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : AyWindow
    {
        public MainWindow()
        {
            InitializeComponent();
        }


    }
}

运行项目

Image 7.png

默认你就拥有了 可以换肤(版本1.0,版本2.0将支持视频背景,颜色设定)的功能,换肤动画可以再生成的Config文件夹下application.xml中的 skinSwitchAnimation

Image 8.png

这里内置了24种动画,下面我设置了22的动画效果

2.gif

关于其他动画效果这里就不演示了. 背景切换后,默认自动同步到application.xml文件中了,下次打开就是该背景.

支持本地图片选择,可分页,自动根据文件夹自动分类, 文件夹的名字前面有个英文字母,按照该字母排序分类的.

你也可以增加分类,但是对应的thumb文件夹下也需要增加

Image 9.png

常用属性和自己的拓展属性说明,加 * 号,请不要关注,因为设置无效


属性默认值使用说明
ShadowMargin5.0调整AyWindow的阴影漏出来的多少, 最大化时候阴影为0,且不遮蔽
*ShadowRadiusShadowMargin.Left ,不可以阴影Radius
CloseButtonMargin0,0,0,0,建议调整为 CloseButtonMargin="0,0,8,0"调整关闭按钮距离右侧的距离,也就是调整窗体右上角的距离
WindowStartupLocation当不是最大化的时候,建议默认值CenterScreen

调整显示屏幕的位置

注意: 第一次显示AyWindow时候,如果不是最大化 WindowState="Maximized" , 你又不想要阴影,使用 ShadowMargin="0", 但是如果你需要,你可以什么都不管.

如果你默认显示最大化, 建议设置 ShadowMargin="0",然后  WindowState="Maximized",这样最大化时候,就会完全贴合屏幕,放心好了,再次还原时候,是自动会有阴影的. 最大化是不允许拖着移动的,调整大小.

WindowTitleBarBg透明
标题栏颜色,高度等于关闭按钮的高度
CloseButtonVisibility,SkinButtonVisibility,MinButtonVisibility,MaxButtonVisibilityVisibility右上角4个按钮的可见性
CanDrag (bool类型) true决定窗体是否可以拖拽
ToolBarContentobject类型    默认值是 null挨在右上角4个按钮的左边的拓展的区域 内容,用法和Button的Content用法一样
ToolBarCornerRadiusnew CornerRadius(1)ToolBarContent 区域的
ToolBarBorderThicknessnew Thickness(0)ToolBarContent的边框
ToolBarBrushnew SolidColorBrush(Colors.Transparent)ToolBarContent的边框色
ToolBarBackgroundnew SolidColorBrush(Colors.Transparent)ToolBarContent的背景色
TitleBarHeight24.00标题栏高度 2015-6-8 10:58:55 增加

备注:  2015-6-9 14:15:43 

AyWindow增加  三击最大化或者还原窗体

增加 MinWidth和MinHeight的 调整大小限制



关于ToolBarContent示例

  <skin:AyWindow.ToolBarContent>
        <StackPanel Orientation="Horizontal" Margin="10,2">
            <UserControls:ShowCurrentTime FontSize="14" Foreground="{StaticResource AyWindow.ToolBarContent.TextBlock.Foreground.Recommand}" Mode="YMDHHMS,Week"/>
            <TextBlock  VerticalAlignment="Center" FontSize="14" Margin="20,0,0,0" Foreground="{StaticResource AyWindow.ToolBarContent.TextBlock.Foreground.Recommand}">今日天气</TextBlock>
            <TextBlock x:Name="tbTemperature" VerticalAlignment="Center" FontSize="14" Margin="4,0,0,0" Foreground="{StaticResource AyWindow.ToolBarContent.TextBlock.Foreground.Recommand}">-12</TextBlock>
            <TextBlock VerticalAlignment="Center" FontSize="14" Foreground="{StaticResource AyWindow.ToolBarContent.TextBlock.Foreground.Recommand}">℃</TextBlock>

            <StackPanel Orientation="Horizontal" Margin="15,0,0,0">
                <TextBlock  VerticalAlignment="Center" FontSize="14" Margin="5,0,0,0" Style="{StaticResource FontAwesome}" Foreground="{StaticResource AyWindow.ToolBarContent.TextBlock.Foreground.Recommand}">&#xf007;</TextBlock>
                <TextBlock x:Name="tbLoginUser" VerticalAlignment="Center" FontSize="14" Margin="10,0,0,0" Foreground="{StaticResource AyWindow.ToolBarContent.TextBlock.Foreground.Recommand}">张三</TextBlock>
                <TextBlock  VerticalAlignment="Center" FontSize="16" Margin="20,-2,0,0" Style="{StaticResource FontAwesome}" Foreground="{StaticResource AyWindow.ToolBarContent.TextBlock.Foreground.Recommand}">&#xf003;</TextBlock>
                <TextBlock x:Name="tbMailNumber" VerticalAlignment="Center" FontSize="14" Margin="10,0,0,0" Foreground="{StaticResource AyWindow.ToolBarContent.TextBlock.Foreground.Recommand}">32</TextBlock>
            </StackPanel>
        </StackPanel>
    </skin:AyWindow.ToolBarContent>

关于 ShowCurrentTime显示时间,Mode模式,显示的样子的值如下



推荐您阅读更多有关于“Ay.Framework.WPF,”的文章

猜你喜欢

已有3位网友发表了看法:

1#一抹微澜  2015-07-02 15:13:37 回复该评论
谢谢分享,求密码
2#天之蓝  2015-06-30 14:25:15 回复该评论
谢谢分享
3#天之蓝  2015-06-30 14:24:46 回复该评论
谢谢

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  查看权限

合肥科大智能常年招聘.NET,Java,Web前端,有想找想换工作的私聊我AY唯一QQ:875556003和AY交流

抖音号:wpfui,可以看到我的很多作品效果

AYUI8社区版Github地址:前往获取

作者:杨洋(AaronYang简称AY,安徽六安人)目前是个人,还没公司AY唯一QQ:875556003和AY交流

高中学历,2015年1月17日开始,兴趣学习研究WPF,目前工作繁忙,不接任何活

声明:AYUI7个人与商用免费,源码可购买。部分DEMO不免费.AY主要靠卖技术服务挣钱

不是从我处购买的ayui7源码,我不提供任何技术服务,如果你举报从哪里买的,我可以帮你转正为我的客户,并送demo

查看捐赠

AYUI7.X MVC教程 更新如下:

第一课 第二课 程序加密教程

vs2015 企业版密钥HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

vs2017 企业版密钥NJVYC-BMHX2-G77MM-4XJMR-6Q8QF

标签列表