WPF-常见集合控件(ItemsControl、ListView、DataGrid、TreeView、TabControl.......)

本文详细介绍了WindowsPresentationFoundation(WPF)中的ItemsControl、ListBox、ListView、DataGrid、TabControl、TreeView和GroupBox等控件的常用依赖属性、标签、路由事件以及子项属性。重点展示了如何配置这些控件以实现不同的功能和布局。
摘要由CSDN通过智能技术生成

目录

一、ItemsControl

1、常用依赖属性

2、常用标签

二、ListBox列表控件

1、常用属性

2、常用路由事件

三、ListView列表视图控件

1、常用依赖属性

2、常用标签

3、常用路由事件

四、DataGrid数据表格控件

1、常用属性

2、常用路由事件

五、TabControl

1、子项常用属性

2、常用路由事件

六、TreeView

1、子项常用属性

七、GroupBox组控件

1、常用属性


一、ItemsControl

基类Control 

1、常用依赖属性

  • ItemSource:获取或设置用于生成ItemsControl内容的集合;
  • ItemTemplete:获取或设置用来显示每个项的DataTemplate;
  • DisplayMemberPath:获取或设置源对象上的值的路径,以用作对象的可视表示形式;

2、常用标签

  • ItemsPanel:获取或设置对项的布局进行控制的面板;
  • ItemContainerStyle :获取或设置应用于为每个项生成的容器元素的Style;
  • Template:可通过模板给无ScrollViewer功能的容器添加ScrollViewer

                1、ScrollViewer控件:封装了水平、垂直ScrollBar和一个内容容器

                2、ItemsPresenter:itemsControl不负责呈现控件,通过子元素ItemsPresenter负责,放在模板内部,该子元素会检测其父元素是否为集合控件,若是则添至视觉树中


二、ListBox列表控件

基类Selector

1、常用属性

  • ItemSource:获取或设置用于生成ItemsControl内容的集合;
  • ItemTemplete:获取或设置用来显示每个项的DataTemplate;
  • SelectionMode:指定选择模式;
    Single用户一次只能选择一项。
    Multiple用户可以选择多个项而无需按下修改键。
    Extended用户可以选择多个连续项,同时按住 SHIFT 键或非连续项,方法是按住 Ctrl 键并单击项。
  • DisplayMemberPath:获取或设置源对象上的值的路径,以用作对象的可视表示形式;
  • SelectedValue:获取或设置通过使用SelectedItem而获取的SelectedValuePath的值
  • SelectedItem:获取或设置当前选择中的第一项,如果选择为空,则返回 null;
  • SelectedValuePath:获取或设置用于从SelectedValue获取SelectedItem 的路径;

2、常用路由事件

  • SelectionChanged:当Selector的选择更改(选择项更改)时发生;

示例代码:

            <ListBox Width="NaN"
                     Height="250"
                     Margin="0,0,0,0"
                     Background="Gray">
                <ItemsControl d:ItemsSource="{d:SampleData ItemCount=4}" ItemTemplate="{StaticResource mydatatem}">
                </ItemsControl>
            </ListBox>


三、ListView列表视图控件

基类ListBox 

1、常用依赖属性

  • View:获取或设置一个对象(通常用GridView),用于定义如何在ListView控件中设置数据样式和组织数据; 
  • ItemSource:获取或设置用于生成ItemsControl内容的集合;
  • ItemTemplete:获取或设置用来显示每个项的DataTemplate;
  • SelectionMode:指定选择模式;
Single用户一次只能选择一项。
Multiple用户可以选择多个项而无需按下修改键。
Extended用户可以选择多个连续项,同时按住 SHIFT 键或非连续项,方法是按住 Ctrl 键并单击项。

2、常用标签

  • ItemsPanel:获取或设置对项的布局进行控制的面板;
  • ItemContainerStyle :获取或设置应用于为每个项生成的容器元素的Style;
  • Template:可通过模板给无ScrollViewer功能的容器添加ScrollViewer

                1、ScrollViewer控件:封装了水平、垂直ScrollBar和一个内容容器

                2、ItemsPresenter:itemsControl不负责呈现控件,通过子元素ItemsPresenter负责,放在模板内部,该子元素会检测其父元素是否为集合控件,若是则添至视觉树中

3、常用路由事件

  • SelectionChanged:当Selector的选择更改(选择项更改)时发生;
 <GroupBox Grid.Row="1" Header="Test">
                <Grid Height="NaN">
                    <ListView d:ItemsSource="{d:SampleData ItemCount=4}"
                              ItemTemplate="{StaticResource datatem2}"
                              ItemsSource="{Binding MyStrList}"
                              SelectionMode="Single">
                        <ListView.ItemsPanel>
                            <ItemsPanelTemplate>
                                <VirtualizingStackPanel Orientation="Horizontal" />
                            </ItemsPanelTemplate>
                        </ListView.ItemsPanel>
                        <ListView.ItemContainerStyle>
                            <Style BasedOn="{StaticResource ListViewItemBaseStyle}" TargetType="ListViewItem">
                                <Setter Property="Margin" Value="5" />
                            </Style>
                        </ListView.ItemContainerStyle>
                        <ListView.Template>
                            <ControlTemplate TargetType="ItemsControl">
                                <ScrollViewer hc:ScrollViewerAttach.Orientation="Horizontal"
                                              HorizontalScrollBarVisibility="Auto"
                                              VerticalScrollBarVisibility="Hidden">
                                    <ItemsPresenter />
                                </ScrollViewer>
                            </ControlTemplate>
                        </ListView.Template>
                    </ListView>
                </Grid>
            </GroupBox>


四、DataGrid数据表格控件

基类MultiSelector 

可显示和编辑来自许多不同源的数据,例如来自 SQL 数据库、LINQ 查询或任何其他可绑定数据源的数据;

生成的列类型数据类型
DataGridTextColumnString
DataGridComboBoxColumnBoolean
DataGridComboBoxColumn

Enum

DataGridHyperlinkColumnUri

1、常用属性

  • ItemSource:获取或设置用于生成ItemsControl内容的集合;
  • IsReadOnly:指示用户是否可在DataGrid中编辑值;
  • AutoGenerateColumns:指示是否自动创建列;
  • CanUserAddRows:指示用户是否可在DataGrid中添加新行;
  • CanUserDeleteRows:指示用户是否可从DataGrid中删除行;
  • CanUserReorderColumns:指示用户能否通过用鼠标拖动列标题来更改列的显示顺序;
  • CanUserResizeColumns:指示用户是否可使用鼠标调整列宽;
  • CanUserResizeRows:指示用户是否能使用鼠标调整行的高度;
  • CanUserSortColumns:指示用户能否通过单击列标题对列进行排序;
  • EnableColumnVirtualization:该值指示是否启用列虚拟化;
  • HeadersVisibility:获取或设置用于指定行和列标题可见性的值;

2、常用路由事件

  • SelectionChanged:当Selector的选择更改(选择项更改)时发生;


五、TabControl

基类Selector 

允许将不同视图放在不同选项卡页面上的控件

子项TabItem

1、子项常用属性

  • Header:设置页标题;

2、常用路由事件

  • SelectionChanged:当Selector的选择更改(选择项更改)时发生;

示例 

<TabControl>
  <TabItem>
    <TabItem.Header>
      <StackPanel Orientation="Horizontal">
      </StackPanel>
    </TabItem.Header>
    <StackPanel>
      <TextBlock>Enter some text</TextBlock>
    </StackPanel>
  </TabItem>
  <TabItem Header="Tab 2">
    <TextBlock Text="1111"/>
  </TabItem>
</TabControl>

六、TreeView

基类ItemsControl 

用于显示具有层次结构的数据的控件 

子项TreeViewItem

1、子项常用属性

Header:设置子项标题

<TreeView x:Name="treeView" Background="LightGray">
     <TreeViewItem x:Name="treeViewItem" Header="我的控件" />
</TreeView>

C#添加子项:  treeViewItem.Items.Add(new TreeViewItem());


七、GroupBox组控件

属于HeaderedItemsControl族,带标题

1、常用属性

  • Header:设置标题;
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常好用的WPF控件是指在WPF应用程序开发中,提供了丰富、易用且功能强大的控件集合的开发工具。这些控件可以帮助开发人员更快速、高效地构建出现代化、具有吸引力的用户界面。 一个好用的WPF控件应该具有以下特点: 1. 丰富的控件选择:提供了大量常用的控件,如按钮、文本框、下拉框等基础控件,并且还包含了一些高级控件,如图表控件、日期选择器、树控件等,可以满足不同应用场景的需求。 2. 高度的可定制性:控件应该提供灵活的样式和模板机制,使开发人员可以根据自己的需求自定义控件的外观和行为,以实现与应用程序的整体风格和要求相匹配。 3. 良好的性能和高效的数据绑定:控件应该经过优化,确保在大数据量或复杂数据结构的情况下,控件仍能保持良好的性能。同时,应提供便捷的数据绑定机制,使开发人员能快速绑定数据并实现响应式UI。 4. 完善的文档和示例:控件应该提供清晰、详尽的文档,包括使用说明、示例代码和常见问题解答等,以帮助开发人员快速掌握和使用控件。 5. 良好的支持和更新:好的控件开发商应该提供及时的技术支持,并持续进行更新和改进,以适应不断变化的技术需求和市场需求。 总之,一个非常好用的WPF控件能够极大地提高开发效率和用户体验,帮助开发人员轻松实现复杂的界面设计和交互功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值