Хочу сделать Total Commander. Для большей гибкости хочу чтобы списки с файлами было любое количество. Для этого решил сделать список из фреймов.
<ListBox Grid.Row="1" Grid.ColumnSpan="2" ItemsSource="{Binding Frames}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Frame DataContext="{Binding Path=Context}"
Source="/TotalCommander;component/View/FileBrowser.xaml"/>
</DataTemplate>
</ListBox.ItemTemplate>
Если в качестве содержимого DataTemplate сделать содержимое фрейма
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
... тело фрейма Grid и т.д.
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Получается рванье которое на которое можно только смотреть. Ничего нельзя нажимать.
Подскажите как быть.

Frame- весьма специфический и предназначен немного для других целей. Вам лучше вынести все, что нужно по своемуUserControlи в последующем использовать их. Если хотите к примеру одному элементу сделать разный вид (другойUserControl), то задайтеDataTemplate, а если хотите сделать что то по типу страниц, то сделайте свойство, которое будет содержать текущий VM и его привяжите кContentPresenter(пример). В общем, отказывайтесь отFrame, мой вам совет... – EvgeniyZ Sep 23 '18 at 15:59ItemsControl, ListBox тут избыточен. – EvgeniyZ Sep 23 '18 at 17:08