网站外链的作用,wordpress站点地图无法读取,c 网站开发需要学什么,网站做成小程序TabControl控件
TabControl表示包含多个共享相同的空间在屏幕上的项的控件。它也是继承于Selector基类#xff0c;所以TabControl也只支持单选操作。另外#xff0c;TabControl的元素只能是TabItem#xff0c;这个TabItem继承于HeaderedContentControl类#xff0c;所以Ta…TabControl控件
TabControl表示包含多个共享相同的空间在屏幕上的项的控件。它也是继承于Selector基类所以TabControl也只支持单选操作。另外TabControl的元素只能是TabItem这个TabItem继承于HeaderedContentControl类所以TabControl的元素实际上是一个带标题的ContentControl内容控件。
1. 属性成员
ContentTemplate表示TabItem元素的内容模板。SelectedContentStringFormat当前所选内容的格式。SelectedContentTemplateSelector获取当前选定的TabItem项的模板选择器。SelectedContentTemplate当前选定的TabItem项的模板。SelectedContent当前选定的TabItem项里面的内容也是一些控件。TabStripPlacement获取或设置选项卡标题相对于选项卡上内容的对齐方式。ContentStringFormat指定如何设置内容的格式。ContentTemplateSelector获取或设置内容模板选择器。
TabControl的SelectedContent可能是我们比较常用的一个属性事实上TabControl通常被当成布局控件来使用。
2. 示例
前端代码
GridGrid.RowDefinitionsRowDefinition/RowDefinition Height50//Grid.RowDefinitionsTabControl x:Name_tabControl Grid.Row0 SelectionChanged_tabControl_SelectionChangedTabItem Header首页Border BackgroundLightBlueTextBlock Text首页 FontSize24 HorizontalAlignmentCenter VerticalAlignmentCenter//Border/TabItemTabItem Header时事热点Border BackgroundLightCoralTextBlock Text时事热点新闻 FontSize24 HorizontalAlignmentCenter VerticalAlignmentCenter//Border/TabItemTabItem Header国际赛事Border BackgroundLightCyanTextBlock Text国际赛事新闻 FontSize24 HorizontalAlignmentCenter VerticalAlignmentCenter//Border/TabItemTabItem Header人文阅读Border BackgroundLightGoldenrodYellowTextBlock Text人文阅读新闻 FontSize24 HorizontalAlignmentCenter VerticalAlignmentCenter//Border/TabItemTabItem Header社会焦点Border BackgroundLightGreenTextBlock Text社会焦点新闻 FontSize24 HorizontalAlignmentCenter VerticalAlignmentCenter//Border/TabItem/TabControlTextBlock x:Name_textBlock TextWrappingWrap Grid.Row1//Gridprivate void _tabControl_SelectionChanged(object sender, SelectionChangedEventArgs e){var tab sender as TabControl;var item tab.SelectedItem as TabItem;var content tab.SelectedContent;_textBlock.Text 标题: item.Header.ToString() 内容: content;}我们订阅了TabControl控件的SelectionChanged事件并在回调函数中获取了当前选中的TabItem对象以及它里面的内容。
TreeView树控件
操作系统的资源管理器就是一个TreeView。所以它常用于显示文件夹、目录等具有层级结构的数据。TreeView由节点和分支构成每个节点可以包含零个或多个子节点分支表示父子关系。在TreeView中每个节点表示为TreeViewItem对象可以通过TreeView的Items属性来获取或设置TreeViewItem对象集合。
1. TreeViewItem元素简介
TreeViewItem作为TreeView唯一的元素类型它继承于HeaderedItemsControl带标题而HeaderedItemsControl又继承于ItemsControl由此可见TreeViewItem元素本身也是一个集合控件。 TreeViewItem有两个常用的属性分别是IsSelected属性和IsExpanded属性IsSelected表示当前元素是否选中IsExpanded表示当前元素是否展开。
2. TreeView属性
SelectedValuePath属性获取或设置SelectedItem或SelectedValue的路径。SelectedValue属性获取SelectedItem的值。SelectedItem属性获取当前选中的项。
3. TreeView示例
前端代码 GridGrid.RowDefinitionsRowDefinition Heightauto/RowDefinition//Grid.RowDefinitionsStackPanel OrientationHorizontalTextBlock Text根目录 VerticalAlignmentCenter Margin3/TextBox x:Name_TextBox Width380 Height25 Margin3/Button Content选择... MinWidth45 Margin3 ClickButton_Click//StackPanelTreeView x:Name_TreeView Grid.Row1 SelectedItemChanged_TreeView_SelectedItemChanged//Grid后端代码 using System;
using System.IO;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Forms;
using MessageBox System.Windows.MessageBox;namespace WpfTest01
{public class Person{public string Name { get; set; }public int Age { get; set; }public string Address { get; set; }}public partial class MainWindow{ public MainWindow(){InitializeComponent();}private void Button_Click(object sender, RoutedEventArgs e){FolderBrowserDialog dialog new FolderBrowserDialog();if (dialog.ShowDialog() System.Windows.Forms.DialogResult.OK){_TextBox.Text dialog.SelectedPath;LoadTreeView(dialog.SelectedPath);}}private void LoadTreeView(string rootPath){// 设置根节点TreeViewItem rootNode new TreeViewItem();rootNode.Header 根目录;// 加载子文件夹和文件LoadSubDirectory(rootNode, rootPath);// 将根节点添加到TreeView中_TreeView.Items.Add(rootNode);}private void LoadSubDirectory(TreeViewItem node, string path){try{DirectoryInfo dirInfo new DirectoryInfo(path);// 加载子文件夹foreach (DirectoryInfo subDirInfo in dirInfo.GetDirectories()){TreeViewItem subNode new TreeViewItem();subNode.Header subDirInfo.Name;LoadSubDirectory(subNode, subDirInfo.FullName);node.Items.Add(subNode);}// 加载文件foreach (FileInfo fileInfo in dirInfo.GetFiles()){TreeViewItem subNode new TreeViewItem();subNode.Header fileInfo.Name;node.Items.Add(subNode);}}catch (Exception ex){MessageBox.Show(ex.Message);}}private void _TreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgsobject e){// 获取选中的节点TreeViewItem selectedNode _TreeView.SelectedItem as TreeViewItem;// 显示选中节点的Headerif (selectedNode ! null){MessageBox.Show(selectedNode.Header.ToString());}}}
}首先通过鼠标操作选择TreeView的根目录然后利用DirectoryInfo获取当前所有目录再利用递归调用一层一层的获取所有子目录最后以TreeViewItem元素一层层加载到控件中。