У меня есть ListBox
, объявленный в xaml, где его ItemsSource
связывается с ObservableCollection
. Работа в MVVM
:WPF: Может ли метод вызова ListViewItem с его индексом как параметр
<ListBox ItemsSource="{Binding Arguments}">
<ListBox.Resources>
<DataTemplate DataType="{x:Type local:CArgumentClass}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ArgName}" ToolTip="{Binding Documentation}"/>
<TextBox Text="{Binding ValueToShow, TargetNullValue=Missing}"/>
</StackPanel>
</DataTemplate>
</ListBox.Resources>
</ListBox>
я могу приложить команду к списку коробчатых событий. Я работаю с базой Caliburn
, но есть много других способов сделать это. Я также могу отправить параметр в методе, в этом примере я посылаю контекст данных:
<ListBox ItemsSource="{Binding Arguments}">
<ListBox.Resources>
<DataTemplate DataType="{x:Type local:CArgumentClass}">
<StackPanel Orientation="Horizontal">
<Button Style="{StaticResource DeleteButton}"
cal:Message.Attach="DeleteArgument($dataContext)]"/>
<TextBlock Text="{Binding ArgName}" ToolTip="{Binding Documentation}"/>
<TextBox Text="{Binding ValueToShow, TargetNullValue=Missing}"/>
</StackPanel>
</DataTemplate>
</ListBox.Resources>
</ListBox>
Мой вопрос, могу ли я отправить индекс элемента методу? Как?
Примечание: этот код составлен для вопроса, моя цель - удалить элементы из списка из представления пользователем простым способом. Элементы в списке не настраиваются.
, возможно, вы можете отправить элемент и получить индекс из исходной коллекции в обработчике команд. это может быть мало сложным в xaml – pushpraj