Немного предыстории:
Мы пытаемся создать элемент управления расписанием, как outlook, с некоторыми пользовательскими функциями.
Я уже прошел подобный пост в Code Project, но мы склонны использовать немного другой подход (пытаясь использовать подход MVVM).
Проблема:
В настоящее время у нас есть список с 3 пунктами. Каждый элемент в списке - это еще один список с границами в качестве элементов. Например, код XAML выглядит следующим образом
<ListBox Name="MasterListBox" HorizontalAlignment="Stretch" Height="500" Width="500">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBoxItem >
<ListBox Name="Child1" Height="240">
<ListBoxItem>
<Border Width="200" Background="Red" Height="40"></Border>
</ListBoxItem>
<ListBoxItem >
<Border Width="200" Background="Blue" Height="40"></Border>
</ListBoxItem>
<ListBoxItem >
<Border Width="200" Background="Green" Height="40"></Border>
</ListBoxItem>
</ListBox>
</ListBoxItem>
<ListBoxItem >
<ListBox Name="Child2" Height="240">
<ListBoxItem >
<Border Width="200" Background="Yellow" Height="40"></Border>
</ListBoxItem>
<ListBoxItem >
<Border Width="200" Background="Green" Height="40"></Border>
</ListBoxItem>
<ListBoxItem >
<Border Width="200" Background="Pink" Height="40"></Border>
</ListBoxItem>
</ListBox>
</ListBoxItem>
<ListBoxItem >
<ListBox Name="Child3" Height="240">
<ListBoxItem >
<Border Width="200" Background="Aqua" Height="40"></Border>
</ListBoxItem>
<ListBoxItem >
<Border Width="200" Background="Beige" Height="40"></Border>
</ListBoxItem>
<ListBoxItem >
<Border Width="200" Background="Brown" Height="40"></Border>
</ListBoxItem>
</ListBox>
</ListBoxItem>
</ListBox>
Проблема в том, что, когда я нажимаю на 1-й элемент (Child1) в MasterListBox в белой области и перетаскиваю вправо, окно списка MasterListBox прокручивается вправо, но когда я нажимаю на подэлемент (например, например, для красной границы) и перетащите вправо, MasterListBox не прокручивает вправо.
Мне известно, что я пытаюсь перетащить элемент внутреннего списка, и по этой причине внешний список не прокручивается, но есть способ переопределить это. Я также хочу выбрать внутренний элемент, поэтому не могу установить IsHitTestVisible = "False" для внутреннего элемента.
Спасибо, что заглянули в это. Ваша помощь очень ценится.
С уважением
Саурабй