diff --git a/demo/Ursa.Demo/Dialogs/DialogWithAction.axaml b/demo/Ursa.Demo/Dialogs/DialogWithAction.axaml
index 3a0d2ac..2f4bef9 100644
--- a/demo/Ursa.Demo/Dialogs/DialogWithAction.axaml
+++ b/demo/Ursa.Demo/Dialogs/DialogWithAction.axaml
@@ -15,6 +15,11 @@
+
+ A
+ B
+ C
+
diff --git a/demo/Ursa.Demo/Dialogs/PlainDialog.axaml b/demo/Ursa.Demo/Dialogs/PlainDialog.axaml
index 89dbb0d..903a8b1 100644
--- a/demo/Ursa.Demo/Dialogs/PlainDialog.axaml
+++ b/demo/Ursa.Demo/Dialogs/PlainDialog.axaml
@@ -9,5 +9,10 @@
x:Class="Ursa.Demo.Dialogs.PlainDialog">
+
+ A
+ B
+ C
+
diff --git a/src/Ursa.Themes.Semi/Controls/Dialog.axaml b/src/Ursa.Themes.Semi/Controls/Dialog.axaml
index 48259aa..bf11f76 100644
--- a/src/Ursa.Themes.Semi/Controls/Dialog.axaml
+++ b/src/Ursa.Themes.Semi/Controls/Dialog.axaml
@@ -387,28 +387,34 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
@@ -444,75 +450,76 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
diff --git a/src/Ursa/Controls/Dialog/DialogWindow.cs b/src/Ursa/Controls/Dialog/DialogWindow.cs
index f76504c..cabb0f4 100644
--- a/src/Ursa/Controls/Dialog/DialogWindow.cs
+++ b/src/Ursa/Controls/Dialog/DialogWindow.cs
@@ -9,13 +9,15 @@ using Ursa.Common;
namespace Ursa.Controls;
[TemplatePart(PART_CloseButton, typeof(Button))]
+[TemplatePart(PART_TitleArea, typeof(Panel))]
public class DialogWindow: Window
{
public const string PART_CloseButton = "PART_CloseButton";
-
+ public const string PART_TitleArea = "PART_TitleArea";
protected override Type StyleKeyOverride { get; } = typeof(DialogWindow);
private Button? _closeButton;
+ private Panel? _titleArea;
static DialogWindow()
{
@@ -39,7 +41,10 @@ public class DialogWindow: Window
{
base.OnApplyTemplate(e);
EventHelper.UnregisterClickEvent(OnDefaultClose, _closeButton);
+ _titleArea?.RemoveHandler(PointerPressedEvent, OnTitlePointerPressed);
_closeButton = e.NameScope.Find