Avalonia学习(二十一)-自定义界面演示

今天开始继续Avalonia练习。

本节:自定义界面

在网上看见一个博客,根据需要演示一下。

前台代码

XML 复制代码
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:vm="using:WindowStyleAvalonia.ViewModels"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
        x:Class="WindowStyleAvalonia.Views.MainWindow"
        x:DataType="vm:MainWindowViewModel"
        Icon="/Assets/avalonia-logo.ico"
        Title="WindowStyleAvalonia">

    <Design.DataContext>
        <!-- This only sets the DataContext for the previewer in an IDE,
             to set the actual DataContext for runtime, set the DataContext property in code (look at App.axaml.cs) -->
        <vm:MainWindowViewModel/>
    </Design.DataContext>
  <Window.Styles>
    <Style Selector="Window">
      <Setter Property="ExtendClientAreaToDecorationsHint" Value="True"></Setter>
      <Setter Property="ExtendClientAreaChromeHints" Value="NoChrome"></Setter>
      <Setter Property="ExtendClientAreaTitleBarHeightHint" Value="-1"></Setter>
      <Setter Property="SystemDecorations" Value="None"></Setter>
      <Setter Property="CanResize" Value="False"></Setter>
      <Setter Property="Background">
        <Setter.Value>
          <SolidColorBrush Color="White" Opacity="0"></SolidColorBrush>
        </Setter.Value>
      </Setter>
      
    </Style>
  </Window.Styles>
  
</Window>

后台代码

cs 复制代码
using Avalonia.Controls;
using Avalonia.Input;
using System;

namespace WindowStyleAvalonia.Views
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            this.PointerPressed += MainWindow_PointerPressed;
        }

        private void MainWindow_PointerPressed(object? sender, PointerPressedEventArgs e)
        {
            if (e.Pointer.Type == PointerType.Mouse)
            {

                this.BeginMoveDrag(e);
            }
        }
    }
}

运行效果

另外推荐一个博文:

Avalonia 实现跨平台的视频聊天、屏幕分享(源码,支持Win、银河麒麟、统信UOS)-CSDN博客

相关推荐
盐焗西兰花15 小时前
鸿蒙学习实战之路 - 图片预览功能实现
学习·华为·harmonyos
Xudde.15 小时前
friendly2靶机渗透
笔记·学习·安全·web安全·php
知识分享小能手16 小时前
CentOS Stream 9入门学习教程,从入门到精通, CentOS Stream 9 命令行基础 —语法知识点与实战详解(4)
linux·学习·centos
码界奇点16 小时前
Java Web学习 第15篇jQuery从入门到精通的万字深度解析
java·前端·学习·jquery
车载测试工程师16 小时前
CAPL学习-ETH功能函数-通用函数
网络·学习·tcp/ip·capl·canoe
OAoffice17 小时前
智能学习培训考试平台如何驱动未来组织:重塑人才发展格局
人工智能·学习·企业智能学习考试平台·学练考一体化平台
linly121917 小时前
ERP学习笔记-频域分析之小波变换fieldtrip
笔记·学习
QiZhang | UESTC17 小时前
学习日记day40
学习
大江东去浪淘尽千古风流人物18 小时前
【MSCKF】UpdaterHelper 学习备注
学习
hmbbcsm19 小时前
python学习之路(十三)[闭包,装饰器,函数式编程,生成器]
学习