zoukankan      html  css  js  c++  java
  • 从零开始搭建Wpf初学篇1-HelloWorld

    前言:使用MahApps.Metro和Prism作为基础进行WPF框架搭建

    第一步:工具准备:VS2019,.net 5 sdk

    下载链接:https://visualstudio.microsoft.com/zh-hans/downloads/ https://dotnet.microsoft.com/download/dotnet/5.0

    第二步:新建WPF应用程序,一直下一步,选择目标框架.NET 5.0

    第三步:在包管理器中安装MahApps.Metro(后续文章中都用metro作为简称)最新版

    第四步:使用metro控件替换标准控件。

    1.引入metro样式 在App.xaml中添加资源字典

    <Application x:Class="AIStudio.Wpf.Client.App"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:local="clr-namespace:AIStudio.Wpf.Client"
                 StartupUri="MainWindow.xaml">
        <Application.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <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/Themes/Light.Blue.xaml" />
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
        </Application.Resources>
    </Application>

    2.把主窗口MainWindow换成metro窗口

    <mah:MetroWindow  x:Class="AIStudio.Wpf.Client.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:AIStudio.Wpf.Client"
            xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
            mc:Ignorable="d"
            Title="MainWindow" Height="450" Width="800">
        <Grid>
            
        </Grid>
    </mah:MetroWindow>
    using MahApps.Metro.Controls;
    namespace AIStudio.Wpf.Client
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : MetroWindow
        {
            public MainWindow()
            {
                InitializeComponent();
            }
        }
    }

    运行一下看效果

    第五步:按照惯例,我们得helloworld一下:

    把窗体Title改成AIStudio.Wpf.Client,并在窗口中拖入一个TextBlock和Button,通过拖拽调整位置。

    <Grid>
        <TextBlock HorizontalAlignment="Center" Margin="0,160,0,0" Text="欢迎来到AIStudio.Wpf.Client,让我们一起从0开始学Wpf框架搭建吧!" TextWrapping="Wrap" VerticalAlignment="Top"/>
        <Button Content="点击我" HorizontalAlignment="Left" Margin="355,236,0,0" VerticalAlignment="Top"/>
    </Grid>

    第六步:添加点击事件,Button后面输入Click,vs会自动提醒添加事件,在自动添加的Button_Click添加MessageBox提示框。

    <Button Content="点击我" HorizontalAlignment="Left" Margin="355,236,0,0" VerticalAlignment="Top" Click="Button_Click"/>

    private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
    {
        MessageBox.Show("HelloWorld, 您点击了一下Button按钮");
    }

    后续:本章较为简单,下一章将引入Prism,实现MVVM功能。

    源码地址:https://gitee.com/akwkevin/aistudio.-wpf.-client.-stepby-step

    另外推荐一下我的Wpf客户端框架:https://gitee.com/akwkevin/aistudio.-wpf.-aclient

    作者:竹天笑
    互相学习,提高自己。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    CSS3—— 2D转换 3D转换 过渡 动画
    CSS3——边框 圆角 背景 渐变 文本效果
    CSS3——表单 计数器 网页布局 应用实例
    CSS3——提示工具 图片廓 图像透明 图像拼接技术 媒体类型 属性选择器
    CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单
    CSS3——分组和嵌套 尺寸 display显示 position定位 overflow float浮动
    CSS3——盒子模型 border(边框) 轮廓(outline)属性 margin外边距 padding填充
    Eclipse连接数据库报错Local variable passwd defined in an enclosing scope must be final or effectively final
    数据库——单表查询
    数据库——添加,修改,删除
  • 原文地址:https://www.cnblogs.com/akwkevin/p/15111056.html
Copyright © 2011-2022 走看看