关闭 ComboBox 循环滚动
Turning off ComboBox loop scroll
我有一个 ComboBox 可以让用户从列表中进行选择,但是当列表足够长时它会开始自动环绕。例如,如果用户向下滚动足够远,他们将到达列表的末尾,然后在一个空白行之后找到列表的顶部。下拉选择列表永远不会真正结束,它只会一直循环下去。
如何删除此循环滚动功能,以便用户刚好到达列表末尾?
我的代码:
<ComboBox Name="listSelect" ItemsSource="{Binding DataInstance.ItemList}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ItemNumber, Mode=OneWay}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
本文的可能解决方案:http://netitude.bc3tech.net/2013/04/12/windows-8s-combobox-and-the-carouselpanel/
将此设置为您的 ComboBox 控件,这应该会覆盖默认面板:
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
这是为了编辑面板模板,因此您的最终代码将是:
<ComboBox Name="listSelect" ItemsSource="{Binding DataInstance.ItemList}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ItemNumber, Mode=OneWay}" />
</DataTemplate>
</ComboBox.ItemTemplate>
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
我有一个 ComboBox 可以让用户从列表中进行选择,但是当列表足够长时它会开始自动环绕。例如,如果用户向下滚动足够远,他们将到达列表的末尾,然后在一个空白行之后找到列表的顶部。下拉选择列表永远不会真正结束,它只会一直循环下去。
如何删除此循环滚动功能,以便用户刚好到达列表末尾?
我的代码:
<ComboBox Name="listSelect" ItemsSource="{Binding DataInstance.ItemList}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ItemNumber, Mode=OneWay}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
本文的可能解决方案:http://netitude.bc3tech.net/2013/04/12/windows-8s-combobox-and-the-carouselpanel/
将此设置为您的 ComboBox 控件,这应该会覆盖默认面板:
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
这是为了编辑面板模板,因此您的最终代码将是:
<ComboBox Name="listSelect" ItemsSource="{Binding DataInstance.ItemList}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ItemNumber, Mode=OneWay}" />
</DataTemplate>
</ComboBox.ItemTemplate>
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>