У меня есть окно со свойством IpList
типа ObervableCollection<string>
, и я устанавливаю свойство DataContext
окна в само окно, чтобы можно было привязать свойства элементов XAML к свойствам окна. Один элемент XAML в моем окне — это ListBox
, у которого есть ItemTemplate
:
<ListBox
ItemsSource="{Binding IpList}"
x:Name="lbIps">
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel>
<Button
Click="lbIps_bnClose_Click"
Content="X"
DockPanel.Dock="Left" />
<TextBlock
Text="{Binding}" />
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Я хочу, чтобы элементы списка удалялись при нажатии кнопки «X». Моей первой попыткой было получить индекс выбранного элемента и удалить его из списка. Но когда я только нажимаю на кнопку, ни один элемент не выбран. Моя вторая попытка состояла в том, чтобы удалить элемент по значению вместо индекса, но я не мог понять, как получить значение элемента списка, содержащего нажатую кнопку. Итак, мои вопросы: Есть ли возможность получить индекс/значение элемента списка, содержащего нажатую кнопку? Если да, то как я могу это сделать? Есть ли другой способ удалить элемент родительского списка для нажатой кнопки "X"?