因此,我尝试在代码中以编程方式隐藏ListView
应用程序中UWP
的垂直滚动条。
我试过看MSDN documentation for Windows.UI.Xaml.Controls.ListView
但看不到属性。我所能找到的只是属性ShowsScrollingPlaceholders
,其中指出:
获取或设置一个值,该值指示视图是否显示占位符 滚动期间项目的UI。
但是设置:
(Control as Windows.UI.Xaml.Controls.ListView).ShowsScrollingPlaceholders = false;
什么也没做。
那么可以使用UWP隐藏列表视图中的垂直滚动条吗?
答案 0 :(得分:10)
在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);
答案 1 :(得分:0)
您需要访问ScrollViewer
内的ListView
。您可以使用辅助方法
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;