Skip to content

Commit a6e68aa

Browse files
committed
Update WindowedContentDialog.cs
1 parent bdc0e75 commit a6e68aa

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

dev/DevWinUI.Controls/Controls/WindowedContentDialog/WindowedContentDialog.cs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ private void HandleSmokeLayer(ContentDialogWindow dialogWindow)
172172
popup.Child = UnderlaySmokeLayer.CustomSmokeLayer;
173173
}
174174

175-
AttachPopupLifecycle(dialogWindow, popup);
175+
AttachPopupLifecycle(dialogWindow, popup, isSmokeLayer: true);
176176
}
177177
private void HandleSystemBackdrop(ContentDialogWindow dialogWindow)
178178
{
@@ -189,7 +189,7 @@ private void HandleSystemBackdrop(ContentDialogWindow dialogWindow)
189189

190190
backdropLayerCache = popup.Child as Border;
191191
backdropLayerCache.OpacityTransition = UnderlaySystemBackdrop.OpacityTransition;
192-
AttachPopupLifecycle(dialogWindow, popup);
192+
AttachPopupLifecycle(dialogWindow, popup, isSmokeLayer: false);
193193
}
194194

195195
private void DisableOwnerEvents(ContentDialogWindow dialogWindow)
@@ -213,12 +213,20 @@ private void DialogWindow_Closed(object sender, WindowEventArgs e)
213213
control.IsEnabled = true;
214214
}
215215

216-
private void AttachPopupLifecycle(ContentDialogWindow dialogWindow, Popup popup)
216+
private void AttachPopupLifecycle(ContentDialogWindow dialogWindow, Popup popup, bool isSmokeLayer)
217217
{
218-
dialogWindow.Opened -= OnDialogWindowOpened;
219-
dialogWindow.Closed -= DialogWindow_ClosedPopup;
218+
if (isSmokeLayer)
219+
{
220+
dialogWindow.Opened -= OnDialogWindowOpened;
221+
dialogWindow.Opened += OnDialogWindowOpened;
222+
}
223+
else
224+
{
225+
dialogWindow.Loaded -= OnDialogWindowOpened;
226+
dialogWindow.Loaded += OnDialogWindowOpened;
227+
}
220228

221-
dialogWindow.Opened += OnDialogWindowOpened;
229+
dialogWindow.Closed -= DialogWindow_ClosedPopup;
222230
dialogWindow.Closed += DialogWindow_ClosedPopup;
223231

224232
void OnDialogWindowOpened(object sender, EventArgs e)

0 commit comments

Comments
 (0)