少有人走的路

勇哥的工业自动化技术网站

Avalonia学习(二)按钮与事件

按钮与事件


解决方案:

image.png




MainWindow.axaml

<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="_02_ButtonAndEvent.MainWindow"
        Title="Button and Event - 按钮和点击事件"
        Width="400"
        Height="350">
  <StackPanel Spacing="20" Margin="30">
    <TextBlock x:Name="MessageText"
               Text="点击按钮看看效果"
               HorizontalAlignment="Center"
               FontSize="18"/>

    <Button x:Name="ClickMeButton"
            Content="点我!"
            HorizontalAlignment="Center"
            Padding="20,10"/>

    <Button x:Name="ResetButton"
            Content="重置"
            HorizontalAlignment="Center"
            Padding="20,10"/>
  </StackPanel>
</Window>


MainWindow.axaml.cs

可以看到,是使用的基础事件完成的。

using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;

namespace _02_ButtonAndEvent;

public partial class MainWindow : Window
{
    private int _clickCount = 0;

    public MainWindow()
    {
        InitializeComponent();

        ClickMeButton.Click += OnClickMeButtonClick;
        ResetButton.Click += OnResetButtonClick;
    }

    private void OnClickMeButtonClick(object? sender, RoutedEventArgs e)
    {
        _clickCount++;
        MessageText.Text = $"按钮被点击了 {_clickCount} 次!";
    }

    private void OnResetButtonClick(object? sender, RoutedEventArgs e)
    {
        _clickCount = 0;
        MessageText.Text = "点击按钮看看效果";
    }
}


Program.cs

这里是Avalonia的标准的初始化部分。

using Avalonia;
using System;

namespace _02_ButtonAndEvent;

class Program
{
    [STAThread]
    static void Main(string[] args)
    {
        BuildAvaloniaApp()
            .StartWithClassicDesktopLifetime(args);
    }

    public static AppBuilder BuildAvaloniaApp()
        => AppBuilder.Configure<App>()
            .UsePlatformDetect()
            .WithInterFont()
            .LogToTrace();
}


执行结果:

act1.gif


另外,vs2022装的这个Avalonia插件,其实已经带了运行预览效果了,如下图所示:

image.png


发表评论:

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

«    2026年3月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864