c# wpf 普通登錄界面

c# wpf 普通登錄界面

只是簡單的登錄界面布局,沒有太重要的功能效果。

最后更新 2020/1/7 下午7:54
Design com WPF
预计阅读 3 分钟
分类
WPF
专题
wpf ui設計
标签
.NET C# WPF ui設計 wpf ui設計

本文只是簡單的登錄界面布局,沒有太重要的功能效果。

1. 實現效果

最终效果

2. 業務場景

常規業務

3. 編碼實現

3.1添加 nuget 庫

使用 .NET Core 3.1 创建名为 “Login” 的 WPF 解决方案,添加 1 个 NuGet 库:MaterialDesignThemes

3.2工程結構

2 個文件變動:

  1. app.xaml:添加 md 控制項樣式
  2. mainwindow.xaml:主窗口實現效果

3.2.1 app.xaml 引入 md 控制項樣式

關鍵樣式引用代碼

<Application.Resources>
  <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
      <ResourceDictionary
        Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml"
      />
      <ResourceDictionary
        Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml"
      />
    </ResourceDictionary.MergedDictionaries>
    <!--Primary-->
    <SolidColorBrush x:Key="PrimaryHueLightBrush" Color="#FFCDD2" />
    <SolidColorBrush x:Key="PrimaryHueLightForegroundBrush" Color="#FF333333" />
    <SolidColorBrush x:Key="PrimaryHueMidBrush" Color="#f44336" />
    <SolidColorBrush x:Key="PrimaryHueMidForegroundBrush" Color="#FFEEEEEE" />
    <SolidColorBrush x:Key="PrimaryHueDarkBrush" Color="#b71c1c" />
    <SolidColorBrush x:Key="PrimaryHueDarkForegroundBrush" Color="#FFFFFFFF" />
    <!--Accent-->
    <SolidColorBrush x:Key="SecondaryAccentBrush" Color="#ff1744" />
    <SolidColorBrush x:Key="SecondaryAccentForegroundBrush" Color="#FFFFFF" />
  </ResourceDictionary>
</Application.Resources>

3.2.2 主窗體 mainwindow.xaml

全部代碼,登錄窗口布局

<Window
  x:Class="WpfApp2.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:WpfApp2"
  mc:Ignorable="d"
  xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  Title="登录"
  Height="450"
  Width="800"
>
  <Grid Background="#FF1E64AA">
    <Grid Width="300" Height="400">
      <Border
        CornerRadius="3"
        HorizontalAlignment="Center"
        Width="290"
        Height="350"
        VerticalAlignment="Center"
        Background="White"
        Margin="0 35 0 0"
      >
        <StackPanel Margin="0 50 0 0">
          <TextBlock
            Text="请登录您的账号"
            HorizontalAlignment="Center"
            Foreground="Gray"
            Margin="30"
            FontSize="21"
            FontFamily="Champagne &amp; Limousines"
            FontWeight="SemiBold"
          />
          <TextBox Margin="20 10" materialDesign:HintAssist.Hint="邮箱" />
          <PasswordBox Margin="20 10" materialDesign:HintAssist.Hint="密码" />
          <Grid Margin="20 0">
            <CheckBox Content="记住我" HorizontalAlignment="Left" />
            <TextBlock
              Text="忘记密码?"
              Foreground="#FF2259D1"
              HorizontalAlignment="Right"
              Cursor="Hand"
            />
          </Grid>
          <button Content="登录" Margin="20 30" />
        </StackPanel>
      </Border>
      <Border
        Width="70"
        Height="70"
        HorizontalAlignment="Center"
        VerticalAlignment="Top"
        Background="White"
        CornerRadius="50"
      >
        <Border.Effect>
          <DropShadowEffect BlurRadius="15" ShadowDepth="0" />
        </Border.Effect>
        <materialDesign:PackIcon
          Kind="Mail"
          Foreground="{StaticResource PrimaryHueMidBrush}"
          HorizontalAlignment="Center"
          VerticalAlignment="Center"
          Width="25"
          Height="25"
        />
      </Border>
    </Grid>
  </Grid>
</Window>

4. 本文參考

5. 代碼下載

GitHub 源码下载:HelloDotNetCore

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2025/1/26

wpf 藉助自定義 xml 文件實現國際化

本文詳細居間了在wpf程式中使用自定義xml文件實現國際化的方法,包括安裝必備nuget包、動態獲取語言列表、動態切換語言、在代碼和xaml界面中使用翻譯字符串等內容,同時提供了源碼連結,幫助開發者輕鬆實現wpf應用的國際化。

继续阅读