У меня есть меню с несколькими элементами меню, содержащимися внутри.Один из под-MenuItems имеет ItemSource, который связан с IEnumerable [string].Каждая из этих команд MenuItems должна быть привязана к одной и той же ReactiveCommand в модели представления с самим параметром (элемент в IEnumerable).Существует также дополнительный MenuItem, к которому привязан отдельный ReactiveCommand.Я пытаюсь использовать привязки ReactiveUI для этих элементов управления, но я не уверен, как реализовать.
Мне удалось правильно сделать привязки со стандартными привязками WPF / .xaml, но я не могу получить их с помощью ReactiveUI.
Ниже показано, как я реализовал это с использованием стандартногопривязки.
<Menu>
<Menu.Resources>
<CollectionViewSource x:Key="TaskConfigurationNames" Source="{Binding TaskConfigurationNames}"/>
</Menu.Resources>
<MenuItem Header="_Tasks"
Background="{StaticResource PrimaryColorBrush}"
Foreground="{StaticResource OnPrimaryColorBrush}">
<MenuItem Name="SaveTaskConfigMenuItem"
Header="Save Task Configuration"
Command="{Binding SaveTaskConfiguration}"/>
<MenuItem Name="SaveTaskConfigAsMenuItem"
Header="Save Task Configuration As...">
<MenuItem.ItemContainerStyle>
<Style TargetType="{x:Type MenuItem}"
BasedOn="{StaticResource UnderScoredMenuItem}">
<Setter Property="Command"
Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type Menu}}, Path=DataContext.SaveAsNewTaskConfiguration}"/>
<Setter Property="CommandParameter"
Value="{Binding }"/>
</Style>
</MenuItem.ItemContainerStyle>
<MenuItem.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding Source={StaticResource TaskConfigurationNames}}"/>
<MenuItem Name="AddNewTaskConfigMenuItem"
Header="Add New..."
Command="{Binding SaveAsTaskConfiguration}"/>
</CompositeCollection>
</MenuItem.ItemsSource>
</MenuItem>