WPF 横方向にしたListBoxでアイテムを上下にドラッグすると数秒間操作不能になる
Windows10、VisualStudio2015、.Net4.6、WPF、C# で開発しております。
以下のように横方向にしたListBoxで項目を上下方向にドラッグすると数秒間操作を一切け付けない状態になってしまいます。どうやら内部でリストの先頭または終端までスクロールする処理を行っているようで、固まる時間は残りスクロール項目数に比例しています。
この現象を回避もしくは機能自体を停止したいのですが、どのようにしたら良いのでしょうか。
MainWindow.xaml
<Window x:Class="HorizontalListBox.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:HorizontalListBox"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListBox x:Name="listbox" ItemsSource="{Binding Items}" VerticalAlignment="Center" Margin="100">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Width="64" Height="64" Background="Orange" Padding="5" Text="{Binding .}"/>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</Grid>
</Window>
MainWindow.xaml.cs
using System.Collections.Generic;
using System.Linq;
using System.Windows;
namespace HorizontalListBox
{
public partial class MainWindow : Window
{
public List<int> Items { get; } = Enumerable.Range(0, 1000).ToList();
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
}
}
}