在窗口范围内保持弹出窗口
我正在尝试在按钮下显示弹出窗口。
这就是现在的样子:
但我希望它保持在窗口边界内,就像这样(油漆中的例子)
这是我在顶部声明弹出窗口的顶部栏:
我通过设置自定义位置来修复它:
在我的usercontrol的构造函数后面我添加了代码
OptionsMenuPopup.CustomPopupPlacementCallback += (Size popupSize, Size targetSize, Point offset) => new[] { new CustomPopupPlacement() { Point = new Point(targetSize.Width - popupSize.Width, targetSize.Height) } };
您可以使用SystemParameters.PrimaryScreenHeight的组合和Popup的左上角来计算您有多少空间,并将其设置为Popup内容的MaxHeight和MaxWidth。