WPF расширяет содержимое за пределами окна

1

Я хочу получить следующий эффект в wpf

Главное окно выглядит следующим образом Изображение 174551 Когда вы нажимаете на друзей, список друзей друзей должен быть расширен за пределами окна Изображение 174551

И когда я нажимаю на элемент из этого списка, я должен уметь это событие и обрабатывать в главном окне. Как добиться этого в wpf?

Я пытался использовать расширитель, но он не показывает контент, который не соответствует размеру окна. Он просто показывает часть контента

Теги:
wpf

1 ответ

5
Лучший ответ

Вы можете использовать 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;
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню