首页 > 其他分享 >WPF Panel超出边界

WPF Panel超出边界

时间:2024-09-26 10:35:12浏览次数:1  
标签:边界 StackPanel 元素 Grid 超出 WPF Panel

关于StackPanel和Grid这两种常用的WPF布局控件的不同行为

1.StackPanel的行为:

StackPanel设计用于简单地将元素堆叠在一起(垂直或水平)。它不会限制其子元素的大小,允许它们按需增长。这意味着:

  • 子元素可以超出StackPanel的边界
  • StackPanel不会自动调整大小以适应其内容
  • 如果内容超出了可见区域,StackPanel会允许滚动(如果放在ScrollViewer中)

2.Grid的行为:

Grid是一个更复杂的布局控件,设计用于创建灵活的表格式布局。它有以下特点:

  • 默认情况下,Grid会限制其子元素在其单元格内
  • Grid会自动调整其行和列的大小以适应内容(除非明确设置了固定大小)
  • 子元素通常不会超出Grid的边界

3.效果实现

点击查看代码
<DataGridTemplateColumn Header="操作" Width="180">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" >
                <Grid Width="170">
                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                        <Button Grid.Column="2" Margin="5" Style="{StaticResource ImageButtonStyle}" Content="/Resources/Icon/del.png" Command="{Binding DataContext.ClickCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}" CommandParameter="Dele"/>
                        <Button Grid.Column="1" Margin="10,5" Style="{StaticResource ImageButtonStyle}" Content="/Resources/Icon/edit.png" Command="{Binding DataContext.ClickCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}" CommandParameter="Edit"/>
                        <Button Grid.Column="0" Margin="5" Style="{StaticResource ImageButtonStyle}" Content="/Resources/Icon/addcon.png" Command="{Binding DataContext.ClickCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}" CommandParameter="AddCon" Visibility="{Binding DataContext.AddVisibility, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
                    </StackPanel>
                </Grid>
                <Border Width="10" Height="60" Opacity="0.05" Margin="0,0,-15,0">
                    <Border.Background>
                        <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
                            <GradientStop Color="#0177FB" Offset="0" />
                            <GradientStop Color="Transparent" Offset="1" />
                        </LinearGradientBrush>
                    </Border.Background>
                </Border>
            </StackPanel>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
![image](/i/l/?n=24&i=blog/677750/202409/677750-20240926095426812-1842758627.jpg)

标签:边界,StackPanel,元素,Grid,超出,WPF,Panel
From: https://www.cnblogs.com/wyss/p/18432840

相关文章

  • DevExpress WPF中文教程:如何解决编辑单元格值的常见问题?
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • WPF Error XLS0108 Entity references or sequences beginning with an ampersand '&'
    //https://img1.baidu.com/it/u=3991277133,2041185316&fm=253 <ImageSource="https://img1.baidu.com/it/u=3991277133,2041185316&fm=253"/>SeverityCodeDescriptionProjectFileLineSuppressionStateDetailsErr......
  • 闭眼,我触碰群论的边界
    基础群给定一个集合\(G\)和集合上的二元运算\(\times\),满足:封闭性,若\(a,b\inG\),则\(a\timesb\inG\)。结合律,对于任意\(a,b,c\inG\),则\((a\timesb)\timesc=a\times(b\timesc)\)。存在单位元,\(e[x]=x\)。存在逆元。则称\(G\)在运算\(\times\)下是一个群......
  • wpf ToggleButton选中效果
    先看效果 <StyleTargetType="{x:TypeToggleButton}"><SetterProperty="Background"Value="Transparent"/><SetterProperty="BorderBrush"Value="DarkGray"/><......
  • C# + WPF 音频播放器 界面优雅,体验良好
    C#+WPF音频播放器界面优雅,体验良好 合集-.NET开源工具(18)  阅读目录前言项目介绍项目页面项目源码项目地址最后前言本文介绍一款使用C#与WPF开发的音频播放器,其界面简洁大方,操作体验流畅。该播放器支持多种音频格式(如MP4、WMA、OGG、FLAC......
  • .NET 6.0 + WPF 使用 Prism 框架实现导航
    .NET6.0+WPF使用Prism框架实现导航 合集-.NET基础知识(4) 1..NET9优化,抢先体验C#13新特性08-202.《黑神话:悟空》神话再现,虚幻引擎与Unity/C#谁更强?08-213..NET6.0+WPF使用Prism框架实现导航09-114.2024年C#高效开发:精选实用类库09-23收起 ......
  • WPF中控件拖放(二)——拖放示例
    1.创建拖放对象1.1创建一个圆自定义控件,UI代码如下(Circle.xaml):<UserControlx:Class="WpfApp1.Circle"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006......
  • WPF embed C# code into xaml
    <Windowx:Class="WpfApp412.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......
  • WPF Textblock Run glyphFontSize TextDecorations
    <Windowx:Class="WpfApp412.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......
  • WPF Image show picture in high resolution periodically via System.Timers.Timer
    <Windowx:Class="WpfApp411.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......