Я использую MVVM
, и я хочу позвонить Command
, когда я нажму правой кнопкой мыши на свой ListView
. Я сделал много поисков, но моя проблема не решена.Невозможно связать просмотр списка с шаблоном данных
Я использую этот код XAML код
<ListView ItemsSource="{Binding LibraryList}"
x:Name="MediaList"
Visibility="{Binding MediaListVisibility}"
Margin="149,18,-1,0"
BorderBrush="#FF8BCD7F"
BorderThickness="0"
Background="White">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding ChooseMediaCommand}"
CommandParameter="{Binding SelectedValue, ElementName=MediaList}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Name}" Header="Name" Width="300" />
<GridViewColumn DisplayMemberBinding="{Binding Time}" Header="Time" Width="70" />
<GridViewColumn DisplayMemberBinding="{Binding Artist}" Header="Artist" Width="120" />
<GridViewColumn DisplayMemberBinding="{Binding Album}" Header="Album" Width="120" />
<GridViewColumn DisplayMemberBinding="{Binding Year}" Header="Year" Width="80" />
</GridView>
</ListView.View>
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Header="Add to playlist" ItemsSource="{Binding PlaylistsList}">
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding Name}"
Command="{Binding AddToPlaylistCommand}"
CommandParameter="{Binding Name}"/>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
<MenuItem Header="Remove"/>
</ContextMenu>
</ListView.ContextMenu>
Сообщение об ошибке:
System.Windows.Data Error: 40 : BindingExpression path error: 'AddToPlaylistCommand' property not found on 'object' ''Playlist' (HashCode=16901761)'. BindingExpression:Path=AddToPlaylistCommand; DataItem='Playlist' (HashCode=16901761); target element is 'MenuItem' (Name=''); target property is 'Command' (type 'ICommand')
где объявлен 'AddToPlaylistCommand'? – Default
Pls покажет нам реализацию 'PlayList'. – DHN
Это в моей ViewModel –
Gims