2015-01-26 3 views
2

В моем xaml у меня есть ItemControl, который внутри имеет некоторые элементы управления сверху, например, wrappanel и Buttons. Когда пользователь нажимает на кнопку, как я могу узнать ее itemindex?Указатель выбранного элемента в ItemsControl

<ItemsControl ItemsSource="{Binding ConditionList}" AlternationCount="{Binding ConditionList.Count}"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <WrapPanel Background="#FFB1CBCB"> 
      <ComboBox ItemsSource="{Binding DataContext.NodeMembershipFunction, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}, AncestorLevel=1}}" DisplayMemberPath="_Name" SelectedValue="{Binding Condition, Mode=TwoWay}" SelectedValuePath="_Type"></ComboBox> 
      <Button Content="Remove" Click="Remove_Click" /> 
      </WrapPanel> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
    </ItemsControl> 
+0

индекс позиции в списке? ConditionList? – stsur

ответ

2

Использование событий настоятельно не рекомендуется в ItemTemplates, как он ломает всю идею MVVM и DataTemplates. Вы должны привязать эту кнопку к команде, которая будет реализована внутри каждого элемента в ConditionList.

Просмотрев свой код, я вижу, что вы пытаетесь удалить элемент. Я не знаю, как ваши объекты реализованы, но вы должны сделать это, хотя команда внутри вашей модели viewmodel. Вы можете передать услугу каждому из элементов, и каждый из них попросит себя удалить, Just a хотя ...

Смежные вопросы