Как по центру выровнять Popup, который находится в DataTemplate относительно экрана? - PullRequest
0 голосов
/ 25 октября 2018

У меня есть всплывающее окно внутри DataTemplate, и я хочу, чтобы по центру Выровнять всплывающее окно по размеру экрана.Ниже приведен код, который я использую для центрирования всплывающего окна, но сценарий состоит в том, что у меня есть три строки в сетке, а ListView находится во втором ряду, из-за чего во всплывающем окне не размещается центр экрана.Кроме того, я не могу переместить его из DateTemplate, так как для него требуется отдельный DataContext элемента.

private void Popup_SizeChanged(object sender, SizeChangedEventArgs e) 
{
    var popup = sender as Popup;
    CoreWindow yourContainingWindow = Window.Current.CoreWindow;
    Rect windowBounds = yourContainingWindow.Bounds;
    Point windowCenter = new Point(windowBounds.Left + (windowBounds.Width / 2.0), (windowBounds.Height / 2.0));
    popup.SetValue(Popup.HorizontalOffsetProperty, windowCenter.X - (popup.ActualWidth / 2.0));
    popup.SetValue(Popup.VerticalOffsetProperty, -(popup.ActualHeight / 2.0));
}

Любое предложение о том, как мне достичь упомянутого результата?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...