如何在 UWP 上隐藏列表视图垂直滚动条?
How can I hide a listviews Vertrical Scroll bar on UWP?
所以我试图在代码中以编程方式隐藏我的 UWP
应用程序中 ListView
的垂直滚动条。
我试过查看 MSDN documentation for Windows.UI.Xaml.Controls.ListView
但是看不到 属性。我能找到的只是 属性 ShowsScrollingPlaceholders
,它指出:
Gets or sets a value that indicates whether the view shows placeholder
UI for items during scrolling.
但是设置:
(Control as Windows.UI.Xaml.Controls.ListView).ShowsScrollingPlaceholders = false;
什么都不做。
那么是否可以使用 UWP 隐藏列表视图上的垂直滚动条?
您需要访问 ListView
中的 ScrollViewer
。您可以使用辅助方法
public ScrollViewer GetScrollViewer(DependencyObject o)
{
if (o is ScrollViewer)
{
return o as ScrollViewer;
}
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(o); i++)
{
var child = VisualTreeHelper.GetChild(o, i);
var result = GetScrollViewer(child);
if (result == null)
{
continue;
}
else
{
return result;
}
}
return null;
}
用法:
// Get ListView's ScrollViewer
ScrollViewer listScrollViewer = GetScrollViewer(listView);
// Set VerticalScrollBarVisibility to hidden
listScrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
在 Xaml 中,您可以执行以下操作:
<ListView ScrollViewer.VerticalScrollBarVisibility="Hidden"></ListView>
在代码中你可以这样做:
Windows.UI.Xaml.Controls.ScrollViewer.SetVerticalScrollBarVisibility((Control as Windows.UI.Xaml.Controls.ListView), Windows.UI.Xaml.Controls.ScrollBarVisibility.Hidden);
所以我试图在代码中以编程方式隐藏我的 UWP
应用程序中 ListView
的垂直滚动条。
我试过查看 MSDN documentation for Windows.UI.Xaml.Controls.ListView
但是看不到 属性。我能找到的只是 属性 ShowsScrollingPlaceholders
,它指出:
Gets or sets a value that indicates whether the view shows placeholder UI for items during scrolling.
但是设置:
(Control as Windows.UI.Xaml.Controls.ListView).ShowsScrollingPlaceholders = false;
什么都不做。
那么是否可以使用 UWP 隐藏列表视图上的垂直滚动条?
您需要访问 ListView
中的 ScrollViewer
。您可以使用辅助方法
public ScrollViewer GetScrollViewer(DependencyObject o)
{
if (o is ScrollViewer)
{
return o as ScrollViewer;
}
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(o); i++)
{
var child = VisualTreeHelper.GetChild(o, i);
var result = GetScrollViewer(child);
if (result == null)
{
continue;
}
else
{
return result;
}
}
return null;
}
用法:
// Get ListView's ScrollViewer
ScrollViewer listScrollViewer = GetScrollViewer(listView);
// Set VerticalScrollBarVisibility to hidden
listScrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
在 Xaml 中,您可以执行以下操作:
<ListView ScrollViewer.VerticalScrollBarVisibility="Hidden"></ListView>
在代码中你可以这样做:
Windows.UI.Xaml.Controls.ScrollViewer.SetVerticalScrollBarVisibility((Control as Windows.UI.Xaml.Controls.ListView), Windows.UI.Xaml.Controls.ScrollBarVisibility.Hidden);