c# - WPF 将内容展开到窗口外

标签 c# .net wpf

我想在wpf中得到如下效果

主窗口如下所示 Main window 当你点击好友面板时,好友列表应该会展开到窗口外 Friends expanded

当我单击该列表中的项目时,我必须能够捕获该事件并在主窗口中处理 如何在 wpf 中实现?

我试过使用扩展器,但它没有显示不适合窗口大小的内容。只是显示部分内容

最佳答案

您可以使用 Popup 控件并根据单击的 Button 设置其 PlacementTargetPlacement。简单示例:

<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;
    }

关于c# - WPF 将内容展开到窗口外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26878389/

相关文章:

C# WPF 显示来自 Mysql 的图像

c# - 在 MVC 5 中上传文件时出现空引用异常

c# - 从 string[] 中选择整数,返回 int[]

asp.net - ASP .net 验证技术

C#:将 DllImport 与继承相结合?

.net - 通过应用程序名称获取所有应用程序 - TestStack.White .NET

c# - Datareader 在 VS 中不返回任何结果,但存储过程在 Sql Server 中返回多个结果集

c# - 通过页面方法将 HTML 表格导出到 Excel

c# - 如何使用 SelectionUnit = Cell 取消选择 WPF DataGrid 中选定的单元格

c# - 如何在 WPF 中预呈现 TabItem 上的控件?