Я пытаюсь создать строку меню для своего приложения.Я создал коллекцию в xaml, в которой будут содержаться пункты меню, с которыми будет связано мое меню.
В xaml я создал массив, который я использую в качестве статического ресурса для привязки.
<coll:ArrayList x:Key="MenuOptionsList">
<model:DashboardMenuBarItem
Icon="the location of an image in my images folder"
DisplayName="The test that will appear under my button"
CommandName="someCommandInMyViewModel"/>
</coll:ArrayList>
Я использую список с шаблоном данных для отображения этих элементов следующим образом.
<ListBox x:Name="lstNavigateTo" MinWidth="400" DockPanel.Dock="Top"
ItemsSource="{Binding Source={StaticResource MenuOptionsList}}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
Style="{StaticResource horizontalListTemplate}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="5">
<Button Height="60" Width="60"
Command="{Binding Mode=OneWay, Path=CommandName}">
<Button.Content>
<Image Source="{Binding Path=Icon}" Grid.Row="0" />
</Button.Content>
</Button>
<TextBlock Text="{Binding Path=DisplayName}"
Width="100" TextAlignment="Center" Grid.Row="1" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Моя проблема заключается в том, что я использую шаблон проектирования MVVM и не могу заставить привязки команд работать при нажатии кнопки.,Ранее я бы управлял щелчком кнопки следующим образом.
Command="{Binding someCommandInMyViewModel}"
Это бы работало нормально, но когда я пытаюсь связать команду со свойством элемента в моей коллекции, команда не сработает.
Кто-нибудь знает, как мне этого добиться.