這是我第五次更改此代碼,並且每當它在Windows 7上看起來正確時,彈出窗口在Windows 8上就會關閉,反之亦然。我不知道這是否是調用或其他的順序。在Windows 7上的彈出窗口位置錯誤,在Windows 8上正確
Button b = (Button)sender;
Popup1.Placement = PlacementMode.Left;
Popup1.PlacementTarget = b;
Popup1.HorizontalOffset = b.RenderSize.Width; //original button shall be covered with popup
Popup1.VerticalOffset = 0;
Popup1.IsOpen = true;
它總是水平偏移。我也試過Popup1.HorizontalOffset = b.ActualWidth;
謝謝,這似乎是原因,但鏈接我見過的最髒的修復! – Daniel