Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 右下角的弹出位置_C#_Wpf - Fatal编程技术网

C# 右下角的弹出位置

C# 右下角的弹出位置,c#,wpf,C#,Wpf,我有一个ToggleButton,单击该按钮时,将IsActionMenuOpen设置为true,以便显示弹出窗口。我期望的结果是,弹出窗口的位置应该是右下角。有什么办法吗?此外,如果窗口正在调整大小,是否可以找到解决方案,以便弹出窗口也可以移动 <ToggleButton x:Name="PART_TGAction"> <ToggleButton.Template>

我有一个ToggleButton,单击该按钮时,将
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”以使其正常工作(我在弄明白之前困惑了一段时间)