C#:USB设备枚举(七)WPF扩展方法
2011-11-09 11:35
489 查看
/* ---------------------------------------------------------- 文件名称:WPFExtensions.cs 作者:秦建辉 MSN:splashcn@msn.com QQ:36748897 博客:http://blog.csdn.net/jhqin 开发环境: Visual Studio V2010 .NET Framework 4 Client Profile 版本历史: V1.1 2011年11月07日 实现扩展方法:WPF中TreeView类的ExpandAll功能 V1.0 2011年11月03日 实现扩展方法:WPF中Button类的PerformClick功能 ------------------------------------------------------------ */ using System.Windows.Controls; using System.Windows.Automation.Peers; using System.Windows.Automation.Provider; namespace Splash.WPF { /// <summary> /// 扩展方法 /// </summary> public static partial class Extensions { /// <summary> /// 扩展方法:实现WPF中Button类的PerformClick功能 /// </summary> /// <param name="button">Button实例</param> /// <remarks> /// 需要添加对UIAutomationProvider.dll的引用 /// 参考网址:http://www.cnblogs.com/zhouyinhui/archive/2010/05/20/1740111.html /// </remarks> public static void PerformClick(this Button button) { ButtonAutomationPeer BAP = new ButtonAutomationPeer(button); IInvokeProvider IIP = BAP.GetPattern(PatternInterface.Invoke) as IInvokeProvider; if (IIP != null) { IIP.Invoke(); } } /// <summary> /// 扩展方法:实现WPF中TreeView类的ExpandAll功能 /// </summary> /// <param name="treeView">要展开的TreeView实例</param> /// <remarks> /// 参考网址:http://www.cnblogs.com/sayo/archive/2008/07/23/1249804.html /// </remarks> public static void ExpandAll(this TreeView treeView) { ExpandSubItems(treeView as ItemsControl); } private static void ExpandSubItems(ItemsControl control) { if (control == null) return; foreach (object item in control.Items) { TreeViewItem treeItem = control.ItemContainerGenerator.ContainerFromItem(item) as TreeViewItem; if (treeItem != null && treeItem.HasItems) { treeItem.IsExpanded = true; ExpandSubItems(treeItem as ItemsControl); } } } } }
相关文章推荐
- C#:USB设备枚举(七)WPF扩展方法
- C#:USB设备枚举(八)创建基于WPF的USB设备浏览器
- C#:USB设备枚举(八)创建基于WPF的USB设备浏览器
- C#:USB设备枚举(六)生成ListView数据源
- C#:USB设备枚举(五)生成TreeView数据源
- C#:USB设备枚举(四)Kernel32的PInvoke
- C#下操作USB设备的方法
- C#:USB设备枚举(三)输出枚举信息到XML文档
- C#:USB设备枚举(一)DeviceIoControl的PInvoke
- C#:USB设备枚举(二)设备枚举API
- C#下操作USB设备的方法
- C#:USB设备枚举(二)设备枚举API
- C#:USB设备枚举(一)DeviceIoControl的PInvoke
- C#USB设备枚举Kernel32的PInvoke
- C#:USB设备枚举(三)输出枚举信息到XML文档
- C#:USB设备枚举(五)生成TreeView数据源
- C#+Enum 枚举扩展方法获取name,value和Description
- C#:USB设备枚举(六)生成ListView数据源
- C# 访问USB(HID)设备方法 (转)
- C# 访问USB(HID)设备方法二