В приложении MVVM я хочу динамически отображать кнопки для функций, которые можно изменять во время выполнения. Технически это не так уж и сложно, в моей ViewModel у меня есть наблюдаемая коллекция RelayCommands:
public ObservableCollection<RelayCommand> CustomCommands {get;set;}
Теперь в Xaml я могу привязать ListBox к этой коллекции:
<StackPanel Orientation="Horizontal">
<ListBox ItemsSource="{Binding CustomCommands}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<wpfhlp:RelayButton DataContext="{Binding}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
На первый взгляд это выглядит так, как будто он работает.
ItemTemplate для привязки списка ICommands к ListBox В приложении MVVM я хочу динамически отображать кнопки для функций, которые можно изменять во время выполнения. Технически это не так сложно, в моей ViewModel у меня есть наблюдаемая коллекция ...
В приложении MVVM я хочу динамически отображать кнопки для функций, которые можно изменять во время выполнения. Технически это не так уж и сложно, в моей ViewModel у меня есть наблюдаемая коллекция RelayCommands:
public ObservableCollection<RelayCommand> CustomCommands {get;set;}
Теперь в Xaml я могу привязать ListBox к этой коллекции:
<StackPanel Orientation="Horizontal">
<ListBox ItemsSource="{Binding CustomCommands}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<wpfhlp:RelayButton DataContext="{Binding}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
На первый взгляд это выглядит так, как будто он работает.
ItemTemplate для привязки списка ICommands к ListBox В приложении MVVM я хочу динамически отображать кнопки для функций, которые можно изменять во время выполнения. Технически это не так сложно, в моей ViewModel у меня есть наблюдаемая коллекция ...
В приложении MVVM я хочу динамически отображать кнопки для функций, которые можно изменять во время выполнения. Технически это не так уж и сложно, в моей ViewModel у меня есть наблюдаемая коллекция RelayCommands:
public ObservableCollection<RelayCommand> CustomCommands {get;set;}
Теперь в Xaml я могу привязать ListBox к этой коллекции:
<StackPanel Orientation="Horizontal">
<ListBox ItemsSource="{Binding CustomCommands}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<wpfhlp:RelayButton DataContext="{Binding}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
На первый взгляд это выглядит так, как будто он работает.
В приложении MVVM я хочу динамически отображать кнопки для функций, которые можно изменить во время выполнения. Технически это не так уж и сложно, в моей ViewModel у меня есть наблюдаемая коллекция RelayCommands:
public ObservableCollection<RelayCommand> CustomCommands {get;set;}
Теперь в Xaml я могу привязать ListBox к этой коллекции:
<StackPanel Orientation="Horizontal">
<ListBox ItemsSource="{Binding CustomCommands}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<wpfhlp:RelayButton DataContext="{Binding}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
На первый взгляд это выглядит так, как будто он работает.
В приложении MVVM я хочу динамически отображать кнопки для функций, которые можно изменить во время выполнения. Технически это не так уж и сложно, в моей ViewModel у меня есть наблюдаемая коллекция RelayCommands:
public ObservableCollection<RelayCommand> CustomCommands {get;set;}
Теперь в Xaml я могу привязать ListBox к этой коллекции:
<StackPanel Orientation="Horizontal">
<ListBox ItemsSource="{Binding CustomCommands}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<wpfhlp:RelayButton DataContext="{Binding}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
На первый взгляд это выглядит так, как будто он работает.
Моя проблема: нарушен порядок остановки табуляции. Я хочу, чтобы пользователь мог переходить от кнопки к кнопке, но вместо кнопки ListBox получает фокус пользователя, и я могу выбирать между кнопками с помощью клавиш со стрелками вместо табуляции.
Мне нужна возможность ListBox для привязки в коллекцию, но мне не нужны никакие другие функции списка.
Можно ли использовать другую панель вместо ListBox?
Или я могу каким-то образом отключить функции ListBox, чтобы они просто отображали содержащиеся в нем элементы, не имея возможности выбирать их в ListBox?