ChronoFlow/ChronoFlow.View/Admin/ConfirmDialog.axaml.cs
2025-06-28 14:27:18 +02:00

55 lines
1.5 KiB
C#

using Avalonia.Controls;
using Avalonia.Interactivity;
namespace ChronoFlow.View.Admin;
/// <summary>
/// Ein einfacher Bestätigungsdialog mit "Ja" und "Nein"-Buttons.
/// Gibt bei Abschluss ein bool-Wert zurück: true = bestätigt, false = abgelehnt.
/// </summary>
public partial class ConfirmDialog : Window
{
/// <summary>
/// Ergebnis der Auswahl: true = Ja, false = Nein (Standard).
/// </summary>
public bool Result { get; private set; } = false;
/// <summary>
/// Öffentlicher, parameterloser Konstruktor.
/// Wichtig für Avalonia zur Laufzeit, verhindert AVLN0005-Warnungen.
/// </summary>
public ConfirmDialog()
{
InitializeComponent();
}
/// <summary>
/// Konstruktor mit einer Frage, die im Dialog angezeigt wird.
/// </summary>
/// <param name="frage">Der anzuzeigende Fragetext im Dialog</param>
public ConfirmDialog(string frage)
{
InitializeComponent();
FrageText.Text = frage;
}
/// <summary>
/// Wird aufgerufen, wenn der Benutzer "Ja" klickt.
/// Schließt das Fenster mit Result = true.
/// </summary>
private void JaButton_Click(object? sender, RoutedEventArgs e)
{
Result = true;
Close(Result);
}
/// <summary>
/// Wird aufgerufen, wenn der Benutzer "Nein" klickt.
/// Schließt das Fenster mit Result = false.
/// </summary>
private void NeinButton_Click(object? sender, RoutedEventArgs e)
{
Result = false;
Close(Result);
}
}