diff --git a/src/Client/ZB.MOM.WW.OtOpcUa.Client.UI/Views/ConfirmAlarmWindow.axaml b/src/Client/ZB.MOM.WW.OtOpcUa.Client.UI/Views/ConfirmAlarmWindow.axaml
new file mode 100644
index 00000000..cdda72fc
--- /dev/null
+++ b/src/Client/ZB.MOM.WW.OtOpcUa.Client.UI/Views/ConfirmAlarmWindow.axaml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Client/ZB.MOM.WW.OtOpcUa.Client.UI/Views/ConfirmAlarmWindow.axaml.cs b/src/Client/ZB.MOM.WW.OtOpcUa.Client.UI/Views/ConfirmAlarmWindow.axaml.cs
new file mode 100644
index 00000000..ff912920
--- /dev/null
+++ b/src/Client/ZB.MOM.WW.OtOpcUa.Client.UI/Views/ConfirmAlarmWindow.axaml.cs
@@ -0,0 +1,71 @@
+using Avalonia.Controls;
+using Avalonia.Interactivity;
+using Avalonia.Media;
+using ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
+
+namespace ZB.MOM.WW.OtOpcUa.Client.UI.Views;
+
+public partial class ConfirmAlarmWindow : Window
+{
+ private readonly AlarmsViewModel _alarmsVm;
+ private readonly AlarmEventViewModel _alarm;
+
+ /// Initializes a new instance of the ConfirmAlarmWindow class for XAML designer support.
+ public ConfirmAlarmWindow()
+ {
+ InitializeComponent();
+ _alarmsVm = null!;
+ _alarm = null!;
+ }
+
+ /// Initializes a new instance of the ConfirmAlarmWindow class with alarm context.
+ /// The alarms view model.
+ /// The alarm event to confirm.
+ public ConfirmAlarmWindow(AlarmsViewModel alarmsVm, AlarmEventViewModel alarm)
+ {
+ InitializeComponent();
+ _alarmsVm = alarmsVm;
+ _alarm = alarm;
+
+ var sourceText = this.FindControl("SourceText");
+ if (sourceText != null) sourceText.Text = alarm.SourceName;
+
+ var conditionText = this.FindControl("ConditionText");
+ if (conditionText != null) conditionText.Text = $"{alarm.ConditionName} (Severity: {alarm.Severity})";
+
+ var confirmButton = this.FindControl