2017-01-16 23 views
0

У меня есть всплывающее окно, которое появляется, когда я нажимаю кнопку togglebutton.WPP Popup PlacementTarget = 0,0 of 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 и может заставить его появиться влево/вправо/вверх/botton, но теперь точно в верхней части ToggleButton

ответ

1

Easy: Установить Placement в Relative и оставить Popup.VerticalOffset и Popup.HorizontalOffset как при их значении 0.

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

из любопытства по умолчанию, вы делаете это, чтобы запретить пользователю, нажав на ToggleButton время всплывающее окно открыто?