From c5ff7496a207d6127b97f7069f38209487f635c6 Mon Sep 17 00:00:00 2001
From: Corvin <43533385+corvinsz@users.noreply.github.com>
Date: Fri, 4 Sep 2026 22:20:31 +0200
Subject: [PATCH 1/5] trying to add DialogHost.WaitFor* examples to demo apps
Tried to add DialogHost.WaitFor* examples to demo apps but there seems to be
a problem with ShowMeTheXaml or the demo apps setup
---
src/MainDemo.Wpf/App.xaml.cs | 7 +-
src/MainDemo.Wpf/Dialogs.xaml | 12 +++
src/MaterialDesign3.Demo.Wpf/Dialogs.xaml | 10 ++
.../Dialogs/DialogHostWaitForExample.xaml | 99 +++++++++++++++++++
.../Dialogs/DialogHostWaitForExample.xaml.cs | 49 +++++++++
...IMaterialDesignDemoSharedAssemblyMarker.cs | 3 +
.../MaterialDesignDemo.Shared.csproj | 4 +-
7 files changed, 181 insertions(+), 3 deletions(-)
create mode 100644 src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
create mode 100644 src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml.cs
create mode 100644 src/MaterialDesignDemo.Shared/IMaterialDesignDemoSharedAssemblyMarker.cs
diff --git a/src/MainDemo.Wpf/App.xaml.cs b/src/MainDemo.Wpf/App.xaml.cs
index baf62ae0e4..bfe9a86b75 100644
--- a/src/MainDemo.Wpf/App.xaml.cs
+++ b/src/MainDemo.Wpf/App.xaml.cs
@@ -1,4 +1,5 @@
-using MaterialDesign.Shared;
+using System.Reflection;
+using MaterialDesign.Shared;
using MaterialDesignThemes.Wpf;
using ShowMeTheXAML;
@@ -32,7 +33,9 @@ protected override void OnStartup(StartupEventArgs e)
XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
*/
- XamlDisplay.Init();
+ var sharedAssembly
+ = Assembly.GetAssembly(typeof(MaterialDesignDemo.Shared.IMaterialDesignDemoSharedAssemblyMarker));
+ XamlDisplay.Init(sharedAssembly);
// test setup for Persian culture settings
/*System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fa-Ir");
diff --git a/src/MainDemo.Wpf/Dialogs.xaml b/src/MainDemo.Wpf/Dialogs.xaml
index f109fca585..efd15fe467 100644
--- a/src/MainDemo.Wpf/Dialogs.xaml
+++ b/src/MainDemo.Wpf/Dialogs.xaml
@@ -6,6 +6,7 @@
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
+ xmlns:shared="clr-namespace:MaterialDesignDemo.Shared.Examples.Dialogs;assembly=MaterialDesignDemo.Shared"
xmlns:system="clr-namespace:System;assembly=mscorlib"
d:DataContext="{d:DesignInstance domain:DialogsViewModel}"
d:DesignHeight="1080"
@@ -368,5 +369,16 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/MaterialDesign3.Demo.Wpf/Dialogs.xaml b/src/MaterialDesign3.Demo.Wpf/Dialogs.xaml
index 29e1d24f03..fc3fbc8bd8 100644
--- a/src/MaterialDesign3.Demo.Wpf/Dialogs.xaml
+++ b/src/MaterialDesign3.Demo.Wpf/Dialogs.xaml
@@ -5,6 +5,7 @@
xmlns:domain="clr-namespace:MaterialDesign3Demo.Domain"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:shared="clr-namespace:MaterialDesignDemo.Shared.Examples.Dialogs;assembly=MaterialDesignDemo.Shared"
xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
xmlns:system="clr-namespace:System;assembly=mscorlib"
d:DataContext="{d:DesignInstance domain:DialogsViewModel}"
@@ -46,6 +47,7 @@
+
@@ -325,6 +327,14 @@
+
+
+
+
+
+
+
+
diff --git a/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
new file mode 100644
index 0000000000..1971464f07
--- /dev/null
+++ b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml.cs b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml.cs
new file mode 100644
index 0000000000..70bb10e339
--- /dev/null
+++ b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml.cs
@@ -0,0 +1,49 @@
+using ShowMeTheXAML;
+
+namespace MaterialDesignDemo.Shared.Examples.Dialogs;
+
+///
+/// Interaction logic for DialogHostWaitForExample.xaml
+///
+public partial class DialogHostWaitForExample : UserControl
+{
+ private DateTime? _sample7OpenClicked;
+ private DateTime? _sample7CloseClicked;
+
+ public DialogHostWaitForExample()
+ {
+ InitializeComponent();
+ }
+
+ private async void Sample7_OpenButton_Click(object sender, RoutedEventArgs e)
+ {
+ _sample7OpenClicked = DateTime.Now;
+ Sample7_OpenClicked.Text = _sample7OpenClicked.Value.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
+
+ await Sample7DialogHost.WaitForOpened();
+ var openedFinished = DateTime.Now;
+ Sample7_OpenedFinished.Text = openedFinished.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
+
+ if (_sample7OpenClicked.HasValue)
+ {
+ var diff = openedFinished - _sample7OpenClicked.Value;
+ Sample7_OpenTimeDifference.Text = ((long)diff.TotalMilliseconds).ToString() + " ms";
+ }
+
+ await Sample7DialogHost.WaitForClosed();
+ var closedFinished = DateTime.Now;
+ Sample7_ClosedFinished.Text = closedFinished.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
+
+ if (_sample7CloseClicked.HasValue)
+ {
+ var closeDiff = closedFinished - _sample7CloseClicked.Value;
+ Sample7_CloseTimeDifference.Text = ((long)closeDiff.TotalMilliseconds).ToString() + " ms";
+ }
+ }
+
+ private void Sample7_CloseButton_Click(object sender, RoutedEventArgs e)
+ {
+ _sample7CloseClicked = DateTime.Now;
+ Sample7_CloseClicked.Text = _sample7CloseClicked.Value.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
+ }
+}
diff --git a/src/MaterialDesignDemo.Shared/IMaterialDesignDemoSharedAssemblyMarker.cs b/src/MaterialDesignDemo.Shared/IMaterialDesignDemoSharedAssemblyMarker.cs
new file mode 100644
index 0000000000..f3e9f00dae
--- /dev/null
+++ b/src/MaterialDesignDemo.Shared/IMaterialDesignDemoSharedAssemblyMarker.cs
@@ -0,0 +1,3 @@
+namespace MaterialDesignDemo.Shared;
+
+public interface IMaterialDesignDemoSharedAssemblyMarker;
diff --git a/src/MaterialDesignDemo.Shared/MaterialDesignDemo.Shared.csproj b/src/MaterialDesignDemo.Shared/MaterialDesignDemo.Shared.csproj
index 65688d2960..614c7781a8 100644
--- a/src/MaterialDesignDemo.Shared/MaterialDesignDemo.Shared.csproj
+++ b/src/MaterialDesignDemo.Shared/MaterialDesignDemo.Shared.csproj
@@ -1,4 +1,4 @@
-
+
net472;net8.0-windows
@@ -8,6 +8,8 @@
+
+
From 110301166b102097e3aa6899257edcf3b2b13308 Mon Sep 17 00:00:00 2001
From: Corvin <43533385+corvinsz@users.noreply.github.com>
Date: Wed, 9 Sep 2026 16:29:14 +0200
Subject: [PATCH 2/5] Turn off assembly signing With assembly signing turned on
ShowMeTheXAML throws an exception saying the assembly could not be loaded
---
src/MaterialDesignDemo.Shared/MaterialDesignDemo.Shared.csproj | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/MaterialDesignDemo.Shared/MaterialDesignDemo.Shared.csproj b/src/MaterialDesignDemo.Shared/MaterialDesignDemo.Shared.csproj
index 614c7781a8..39c17d2a44 100644
--- a/src/MaterialDesignDemo.Shared/MaterialDesignDemo.Shared.csproj
+++ b/src/MaterialDesignDemo.Shared/MaterialDesignDemo.Shared.csproj
@@ -4,6 +4,7 @@
net472;net8.0-windows
true
enable
+ false
From 9dbdc0095f5a15d7f1782c49fa3422bebf4a7c15 Mon Sep 17 00:00:00 2001
From: Corvin <43533385+corvinsz@users.noreply.github.com>
Date: Wed, 9 Sep 2026 16:29:26 +0200
Subject: [PATCH 3/5] Cleanup
---
.../Examples/Dialogs/DialogHostWaitForExample.xaml | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
index 1971464f07..2317d49ad5 100644
--- a/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
+++ b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
@@ -7,7 +7,7 @@
xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
-
+
-
From 5f77c8218e4d5d00e851a70bec5c38d2a9ba2d8b Mon Sep 17 00:00:00 2001
From: Corvin <43533385+corvinsz@users.noreply.github.com>
Date: Wed, 9 Sep 2026 16:35:32 +0200
Subject: [PATCH 4/5] Formatting and cleanup
---
.../Dialogs/DialogHostWaitForExample.xaml | 166 +++++++++---------
1 file changed, 83 insertions(+), 83 deletions(-)
diff --git a/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
index 2317d49ad5..ecc8436ecc 100644
--- a/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
+++ b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
@@ -1,98 +1,98 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ d:DesignHeight="450"
+ d:DesignWidth="800"
+ mc:Ignorable="d">
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
-
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
From f8ee17b35bcf8c9e1cf445a9991aedf523e3b043 Mon Sep 17 00:00:00 2001
From: Kevin Bost
Date: Thu, 10 Sep 2026 21:34:36 -0700
Subject: [PATCH 5/5] Clean up DialogHostWaitForExample identifiers and styles
---
src/MaterialDesign3.Demo.Wpf/Dialogs.xaml | 2 +-
.../Dialogs/DialogHostWaitForExample.xaml | 22 ++++++------
.../Dialogs/DialogHostWaitForExample.xaml.cs | 36 +++++++++----------
3 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/src/MaterialDesign3.Demo.Wpf/Dialogs.xaml b/src/MaterialDesign3.Demo.Wpf/Dialogs.xaml
index fc3fbc8bd8..fe6975b178 100644
--- a/src/MaterialDesign3.Demo.Wpf/Dialogs.xaml
+++ b/src/MaterialDesign3.Demo.Wpf/Dialogs.xaml
@@ -328,7 +328,7 @@
-
+
diff --git a/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
index ecc8436ecc..5f7f5885f8 100644
--- a/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
+++ b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml
@@ -19,18 +19,18 @@
-
+
-
-
+
@@ -43,7 +43,7 @@
-
+
@@ -53,13 +53,13 @@
-
+
-
+
@@ -71,23 +71,23 @@
-
+
-
+
-
+
-
+
diff --git a/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml.cs b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml.cs
index 70bb10e339..fe4d9c2c15 100644
--- a/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml.cs
+++ b/src/MaterialDesignDemo.Shared/Examples/Dialogs/DialogHostWaitForExample.xaml.cs
@@ -7,43 +7,43 @@ namespace MaterialDesignDemo.Shared.Examples.Dialogs;
///
public partial class DialogHostWaitForExample : UserControl
{
- private DateTime? _sample7OpenClicked;
- private DateTime? _sample7CloseClicked;
+ private DateTime? _sampleOpenClicked;
+ private DateTime? _sampleCloseClicked;
public DialogHostWaitForExample()
{
InitializeComponent();
}
- private async void Sample7_OpenButton_Click(object sender, RoutedEventArgs e)
+ private async void Sample_OpenButton_Click(object sender, RoutedEventArgs e)
{
- _sample7OpenClicked = DateTime.Now;
- Sample7_OpenClicked.Text = _sample7OpenClicked.Value.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
+ _sampleOpenClicked = DateTime.Now;
+ Sample_OpenClicked.Text = _sampleOpenClicked.Value.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
- await Sample7DialogHost.WaitForOpened();
+ await SampleDialogHost.WaitForOpened();
var openedFinished = DateTime.Now;
- Sample7_OpenedFinished.Text = openedFinished.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
+ Sample_OpenedFinished.Text = openedFinished.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
- if (_sample7OpenClicked.HasValue)
+ if (_sampleOpenClicked.HasValue)
{
- var diff = openedFinished - _sample7OpenClicked.Value;
- Sample7_OpenTimeDifference.Text = ((long)diff.TotalMilliseconds).ToString() + " ms";
+ var diff = openedFinished - _sampleOpenClicked.Value;
+ Sample_OpenTimeDifference.Text = ((long)diff.TotalMilliseconds).ToString() + " ms";
}
- await Sample7DialogHost.WaitForClosed();
+ await SampleDialogHost.WaitForClosed();
var closedFinished = DateTime.Now;
- Sample7_ClosedFinished.Text = closedFinished.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
+ Sample_ClosedFinished.Text = closedFinished.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
- if (_sample7CloseClicked.HasValue)
+ if (_sampleCloseClicked.HasValue)
{
- var closeDiff = closedFinished - _sample7CloseClicked.Value;
- Sample7_CloseTimeDifference.Text = ((long)closeDiff.TotalMilliseconds).ToString() + " ms";
+ var closeDiff = closedFinished - _sampleCloseClicked.Value;
+ Sample_CloseTimeDifference.Text = ((long)closeDiff.TotalMilliseconds).ToString() + " ms";
}
}
- private void Sample7_CloseButton_Click(object sender, RoutedEventArgs e)
+ private void Sample_CloseButton_Click(object sender, RoutedEventArgs e)
{
- _sample7CloseClicked = DateTime.Now;
- Sample7_CloseClicked.Text = _sample7CloseClicked.Value.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
+ _sampleCloseClicked = DateTime.Now;
+ Sample_CloseClicked.Text = _sampleCloseClicked.Value.TimeOfDay.ToString(@"hh\:mm\:ss\.fff");
}
}