本文整理汇总了C#中TreeView.GetVisualDescendents方法的典型用法代码示例。如果您正苦于以下问题:C# TreeView.GetVisualDescendents方法的具体用法?C# TreeView.GetVisualDescendents怎么用?C# TreeView.GetVisualDescendents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TreeView
的用法示例。
在下文中一共展示了TreeView.GetVisualDescendents方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ScrollingIntoViewIncludesTopOfTreeViewItem
public virtual void ScrollingIntoViewIncludesTopOfTreeViewItem()
{
TreeView view = new TreeView { Height = 100 };
TreeViewItem first = new TreeViewItem { Header = 1 };
TreeViewItem last = new TreeViewItem { Header = 10 };
view.Items.Add(first);
view.Items.Add(2);
view.Items.Add(3);
view.Items.Add(4);
view.Items.Add(5);
view.Items.Add(6);
view.Items.Add(7);
view.Items.Add(8);
view.Items.Add(9);
view.Items.Add(last);
ScrollViewer scroller = null;
Panel host = null;
Action<TreeViewItem, string> assertInView = (item, name) =>
{
GeneralTransform transform = item.TransformToVisual(host);
Rect itemRect = new Rect(
transform.Transform(new Point()),
transform.Transform(new Point(item.ActualWidth, item.ActualHeight)));
double itemTop = itemRect.Top;
double itemBottom = itemRect.Bottom;
double pageTop = scroller.VerticalOffset;
double pageBottom = pageTop + scroller.ViewportHeight;
Assert.IsTrue(itemTop >= pageTop && itemTop <= pageBottom, "Top of item '{0}' at {1} is not scrolled into view (0, {2})!", name, itemTop, pageBottom);
Assert.IsTrue(itemBottom >= pageTop && itemBottom <= pageBottom, "Bottom of item '{0}' at {1} is not scrolled into view (0, {2})!", name, itemTop, pageBottom);
};
double bottomOffset = 0.0;
TestAsync(
25,
view,
() => scroller = view.GetVisualDescendents().OfType<ScrollViewer>().FirstOrDefault(),
() => Assert.IsNotNull(scroller, "scroller should not be null!"),
() => host = view.GetVisualDescendents().OfType<StackPanel>().FirstOrDefault(),
() => Assert.IsNotNull(host, "host should not be null!"),
() => last.IsSelected = true,
() => bottomOffset = scroller.VerticalOffset,
() => Assert.AreNotEqual(0, bottomOffset, "ScrollViewer did not scroll to include last element!"),
() => assertInView(last, "Last"),
() => first.IsSelected = true,
() => Assert.AreNotEqual(bottomOffset, scroller.VerticalOffset, "ScrollViewer did not return to first element!"),
() => assertInView(first, "First"));
}
示例2: FocusingTreeViewShouldNotScroll
public virtual void FocusingTreeViewShouldNotScroll()
{
TreeView view = new TreeView
{
ItemsSource = new[] { 1, 2, 3, 4, 5, 6 },
Height = 100
};
ScrollViewer scroller = null;
TestAsync(
25,
view,
() => scroller = view.GetVisualDescendents().OfType<ScrollViewer>().FirstOrDefault(),
() => Assert.IsNotNull(scroller, "scroller should not be null!"),
() => Assert.AreEqual(0, scroller.VerticalOffset, "Should not be scrolled initially!"),
() => scroller.ScrollToVerticalOffset(25),
() => view.Focus(),
() => Assert.AreEqual(25, scroller.VerticalOffset, "Should not have scrolled after focusing!"));
}
示例3: OnlyUserInitiatedExpansionScrollsTreeView
public virtual void OnlyUserInitiatedExpansionScrollsTreeView()
{
TreeView view = new TreeView { Height = 100 };
view.Items.Add(1);
view.Items.Add(2);
view.Items.Add(3);
view.Items.Add(4);
view.Items.Add(5);
view.Items.Add(6);
view.Items.Add(7);
view.Items.Add(new TreeViewItem { Header = 8, IsExpanded = true, ItemsSource = new[] { 9, 10 } });
ScrollViewer scroller = null;
TestAsync(
25,
view,
() => scroller = view.GetVisualDescendents().OfType<ScrollViewer>().FirstOrDefault(),
() => Assert.IsNotNull(scroller, "scroller should not be null!"),
() => Assert.AreEqual(0, scroller.VerticalOffset, "Should not be scrolled initially!"));
}
示例4: TreeViewItemPeerScroll
public virtual void TreeViewItemPeerScroll()
{
TreeView view = new TreeView { Height = 20, ItemsSource = new int[] { 1, 2, 3, 4, 5 } };
TreeViewItem item = null;
TreeViewItemAutomationPeer peer = null;
IScrollItemProvider provider = null;
TestAsync(
5,
view,
() => item = view.ItemContainerGenerator.ContainerFromIndex(4) as TreeViewItem,
() => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as TreeViewItemAutomationPeer,
() => provider = peer.GetPattern(PatternInterface.ScrollItem) as IScrollItemProvider,
() => provider.ScrollIntoView(),
() =>
{
foreach (DependencyObject obj in view.GetVisualDescendents())
{
ScrollViewer viewer = obj as ScrollViewer;
if (viewer != null)
{
Assert.AreNotEqual(0, viewer.VerticalOffset, "ScrollHost was not scrolled!");
return;
}
}
Assert.Fail("Did not find the ScrollHost!");
});
}