本文整理汇总了C#中System.Windows.Controls.TreeView.UpdateLayout方法的典型用法代码示例。如果您正苦于以下问题:C# TreeView.UpdateLayout方法的具体用法?C# TreeView.UpdateLayout怎么用?C# TreeView.UpdateLayout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Controls.TreeView
的用法示例。
在下文中一共展示了TreeView.UpdateLayout方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FindInTree
public TreeViewItem FindInTree(TreeView treeView)
{
treeView.UpdateLayout();
TreeViewItem treeViewItem = null;
var itemContainerGenerator = treeView.ItemContainerGenerator;
var path = GetPathToRoot();
path.Reverse();
foreach (var item in path)
{
treeViewItem = (TreeViewItem) itemContainerGenerator.ContainerFromItem(item);
if (treeViewItem == null) return null;
itemContainerGenerator = treeViewItem.ItemContainerGenerator;
}
return treeViewItem;
}
示例2: RecursivelySelectFolder
/// <summary>
/// Recursively loops through the treeview structure to get the correct
/// folder with the right path
/// </summary>
/// <param name="targetPath">Desired path</param>
/// <param name="tvItem">Current treeview item</param>
private static void RecursivelySelectFolder(TreeView treeView, string targetPath, TreeViewItem tvItem)
{
Folder thisFolder = tvItem.DataContext as Folder;
// We found this item - select it
if (targetPath.Equals(thisFolder.Path, StringComparison.CurrentCultureIgnoreCase) ||
targetPath.Equals(thisFolder.Path + "\\", StringComparison.CurrentCultureIgnoreCase))
{
tvItem.IsSelected = true;
tvItem.BringIntoView();
}
// We're on the right path, keep moving down a level
else if (targetPath.StartsWith(thisFolder.Path + (thisFolder.IsDrive ? "" : "\\"), StringComparison.CurrentCultureIgnoreCase))
{
thisFolder.ReadSubItemsForFolder();
tvItem.IsExpanded = true;
treeView.UpdateLayout();
foreach (Folder subFolder in tvItem.Items)
{
TreeViewItem subItem = tvItem.ItemContainerGenerator.ContainerFromItem(subFolder) as TreeViewItem;
RecursivelySelectFolder(treeView, targetPath, subItem);
}
}
else // This isn't it, break the tree
{
tvItem.IsExpanded = false;
treeView.UpdateLayout();
return;
}
}