C# 右下角的弹出位置
我有一个ToggleButton,单击该按钮时,将C# 右下角的弹出位置,c#,wpf,C#,Wpf,我有一个ToggleButton,单击该按钮时,将IsActionMenuOpen设置为true,以便显示弹出窗口。我期望的结果是,弹出窗口的位置应该是右下角。有什么办法吗?此外,如果窗口正在调整大小,是否可以找到解决方案,以便弹出窗口也可以移动 <ToggleButton x:Name="PART_TGAction"> <ToggleButton.Template>
IsActionMenuOpen
设置为true,以便显示弹出窗口。我期望的结果是,弹出窗口的位置应该是右下角。有什么办法吗?此外,如果窗口正在调整大小,是否可以找到解决方案,以便弹出窗口也可以移动
<ToggleButton x:Name="PART_TGAction">
<ToggleButton.Template>
<ControlTemplate>
<TextBlock x:Name="PART_SubjectActions"
Text="Actions"
Margin="4,0,0,0"
PreviewMouseLeftButtonDown="PART_SubjectActions_PreviewMouseLeftButtonDown"
/>
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>
<Popup IsOpen="{Binding IsActionMenuOpen, Mode=OneWay}"
x:Name="PART_Popup">
<Border Background="White">
......
</Border>
</Popup>
......
通过将其放置在UserControl的已加载事件中,我可以使其正常工作:
PART_Popup.CustomPopupPlacementCallback += (Size popupSize, Size targetSize, Point offset) => new[] { new CustomPopupPlacement() { Point = new Point(targetSize.Width - popupSize.Width, targetSize.Height) } };
通过将其放置在UserControl的Loaded事件中,我可以使其正常工作:
PART_Popup.CustomPopupPlacementCallback += (Size popupSize, Size targetSize, Point offset) => new[] { new CustomPopupPlacement() { Point = new Point(targetSize.Width - popupSize.Width, targetSize.Height) } };
注意:别忘了在弹出对象上设置Placement=“Custom”以使其正常工作(我在弄明白之前困惑了一段时间)注意:别忘了在弹出对象上设置Placement=“Custom”以使其正常工作(我在弄明白之前困惑了一段时间)