我想在LongListSelector中禁用scrollview。
我试过这样:
<toolkit:LongListSelector x:Name="List_Contacts"
IsFlatList= "False"
DisplayAllGroups="False"
Margin="0,0,0,100"
Width="480"
Background="Transparent"
ItemsSource="{Binding ResultList}"
ItemTemplate="{StaticResource ItemTemplate}"
GroupHeaderTemplate="{StaticResource GroupItemHeaderTemplate}"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
Tap="List_Contacts_Tap"/>
但是滚动没有禁用。
我从堆栈溢出中找到了一个解决方案
<Style x:Key="LongListSelectorWithNoScrollBarStyle" TargetType="toolkit:LongListSelector">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="phone:LongListSelector">
<Grid Background="{TemplateBinding Background}" d:DesignWidth="480" d:DesignHeight="800">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ScrollStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="00:00:00.5"/>
</VisualStateGroup.Transitions>
<VisualState x:Name="Scrolling" />
<VisualState x:Name="NotScrolling"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid Margin="{TemplateBinding Padding}">
<ViewportControl x:Name="ViewportControl"
HorizontalContentAlignment="Stretch"
VerticalAlignment="Top"/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
但在这里我收到错误
类型&#39; ViewportControl&#39;没找到。验证您是否缺少程序集引用,并且已构建所有引用的程序集。
我也将命名空间包含在xaml中。
的xmlns:ViewportControl =&#34; CLR-名称空间:System.Windows.Controls.Primitives;装配= System.Windows&#34;
但是现在我仍然收到'ViewportControl' was not found
错误。
请帮我禁用LLS中的滚动。
此处所有元素均可滚动.. LLS将包含N个项目。如果我将LLS滚动到顶部,则上面的堆栈面板也应滚动到顶部。
答案 0 :(得分:0)
您可以通过将LongListSelector(LLS)的高度设置为高于所有项目的高度来禁用滚动。您可以为LLS设置最大高度以避免滚动。
在ScrollViewer中使用LLS不是一个好习惯,两个卷轴都会争夺他们的输入事件,结果也不会像预期的那样。
此外,为了更加关注您的问题,您可以将StackPanel添加到LLS的ListHeader
,以便在滚动LLS时StackPanels也会与您的项目一起滚动。
使用ListHeader
LLS的示例结构是
<phone:LongListSelector>
<phone:LongListSelector.ListHeader>
<StackPanel>
<StackPanel Name="Panel1"></StackPanel>
<StackPanel Name="Panel2"></StackPanel>
</StackPanel>
</phone:LongListSelector.ListHeader>
</phone:LongListSelector>