C# Avalonia 使用程式碼 執行(觸發)按鈕事件 進而執行對應事件函數
C# Avalonia 使用程式碼 執行(觸發)按鈕事件 進而執行對應事件函數
資料來源:chatgpt
axaml
<Button Name="myButton" Content="Click Me" Click="MyButton_Click"/>
code01
private void MyButton_Click(object sender, RoutedEventArgs e)
{
Console.WriteLine("Button clicked!");
}
code02[呼叫方案]
MyButton_Click(myButton, new RoutedEventArgs());//這樣就等於觸發了按鈕事件,但不是真的「模擬使用者點擊」。 myButton.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));//這個方法會完全觸發事件機制,就像使用者真的點擊了一樣。
One thought on “C# Avalonia 使用程式碼 執行(觸發)按鈕事件 進而執行對應事件函數”
private async void Delete_Clicked(object sender, PointerPressedEventArgs e)
{
}
我想要用程式呼叫他
gemini AI:因為PointerPressedEventArgs較難模擬
// 1. 抽離出來的邏輯
private async Task PerformDeleteAsync()
{
// 這裡放原本在 Delete_Clicked 裡的刪除邏輯
await Task.Delay(100); // 模擬異步操作
}
// 2. 原本的事件處理器呼叫它
private async void Delete_Clicked(object sender, PointerPressedEventArgs e)
{
await PerformDeleteAsync();
}
// 3. 你想在程式碼其他地方呼叫時
private async void AnotherMethod()
{
await PerformDeleteAsync();
}