Я хочу получить следующий эффект в wpf
Главное окно выглядит следующим образом Когда вы нажимаете на друзей, список друзей друзей должен быть расширен за пределами окна
И когда я нажимаю на элемент из этого списка, я должен уметь это событие и обрабатывать в главном окне. Как добиться этого в wpf?
Я пытался использовать расширитель, но он не показывает контент, который не соответствует размеру окна. Он просто показывает часть контента
Вы можете использовать Popup
control и установить его PlacementTarget
и Placement
зависимости от того, какая кнопка нажата. Простой пример:
<Grid>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Popup StaysOpen="False" Width="300" Height="200" x:Name="MyPopup">
<Popup.Child>
<StackPanel Background="Bisque"></StackPanel>
</Popup.Child>
</Popup>
<Button Margin="25,25,0,25" HorizontalAlignment="Right" Width="100" Click="ButtonBase_OnClick">First</Button>
<Button Grid.Row="1" Margin="25,25,0,25" HorizontalAlignment="Right" Width="100" Click="ButtonBase_OnClick">Second</Button>
<Button Grid.Row="2" Margin="25,25,0,25" HorizontalAlignment="Right" Width="100" Click="ButtonBase_OnClick">Third</Button>
</Grid>
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
MyPopup.IsOpen = false;
MyPopup.PlacementTarget = sender as UIElement;
MyPopup.Placement = PlacementMode.Right;
MyPopup.AllowsTransparency = true;
MyPopup.PopupAnimation = PopupAnimation.Fade;
MyPopup.IsOpen = true;
}