目录

一、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
DataGridCheckBoxColumnBoolean
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:设置标题;
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐