2017-01-16 44 views
0

我有一个弹出窗口,当我点击一个切换按钮时出现。WPF弹出式菜单PlacementTarget = 0,0 ToggleButton

<ToggleButton HorizontalAlignment="Right" Template="{StaticResource MyToggleButton}" Name="MyToggleButton" /> 
<Popup Name="MyPopUp" IsOpen="{Binding ElementName=MyToggleButton, Path=IsChecked}" StaysOpen="False" PlacementTarget="{Binding ElementName=MyToggleButton}" Placement="Center"> 
// blah blah 
</Popup> 

如何让弹出窗口出现在我的切换按钮的0,0位置? (我的弹出窗口的左上角与切换按钮的左上角位置相同)

我试过使用PlacementTarget,可以让它出现在左/右/顶部/底部,但现在正好在顶部切换按钮

回答

1

简单:设置PlacementRelative,并留下Popup.VerticalOffsetPopup.HorizontalOffset都在0

<Popup 
    Name="MyPopUp" 
    IsOpen="{Binding ElementName=MyToggleButton, Path=IsChecked}" 
    StaysOpen="False" 
    PlacementTarget="{Binding ElementName=MyToggleButton}" 
    Placement="Relative" 
    > 

出于好奇他们的默认值,你这样做是为了防止用户点击ToggleButton而弹出窗口是否打开?