2

我在用户控件内部有一个带有“边框”500x500 的弹出窗口...当用户单击按钮打开此弹出窗口时,我希望边框显示在应用程序的中心(水平/垂直)而不是用户控件。

我该怎么做呢?

4

1 回答 1

3

您可以获得根视觉的当前大小并获取值。请记住,如果您可以控制 RootVisual,请进行正确的投射

Dim PrincipalObject = CType(Application.Current.RootVisual, System.Windows.UIElement)

Dim posY = (PrincipalObject.RenderSize.Height / 2) - (popup.Height / 2)
Dim PosX = (PrincipalObject.RenderSize.Width / 2) - (popup.Width / 2)

C# 应该是..

System.Windows.UIElement PrincipalObject = (System.Windows.UIElement) Application.Current.RootVisual;
Double posY = (PrincipalObject.RenderSize.Height / 2) - (popup.Height /2)
Double posX = (PrincipalObject.RenderSize.Width / 2) - (popup.Width /2)
于 2012-05-29T17:22:25.637 回答