WPF Popup PlacementTarget = 0,0的ToggleButton

时间:2017-01-16 17:41:04

标签: wpf xaml popup togglebutton

当我点击这样的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并可以让它显示为左/右/上/下方但现在恰好位于ToggleButton的顶部

1 个答案:

答案 0 :(得分:1)

简单:将Placement设置为Relative,并将Popup.VerticalOffsetPopup.HorizontalOffset保留为默认值0。

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

出于好奇,您是否这样做是为了防止用户在弹出窗口打开时单击ToggleButton