У меня есть Listview, который содержит список перетаскивания, каждый элемент списка содержит и значок (который является значком MahApps X), и имя файла. Я хочу, чтобы каждый ListviewItem имел этот значок x, и когда пользователь нажимает на значок, он удаляет имя файла из списка Listview или ObservableCollection fileNames. К сожалению, в этом случае я не знаю, как справиться с этим событием, что когда-либо написанный мной код был неправильным. Мой вопрос заключается в том, чтобы показать мне, как это сделать или объяснить мне, как будет работать обработка событий в этом случае и как получить ListViewItem от отправителя. СпасибоПрисоединение события к элементу в listviewItem/Удаление ListviewItem при нажатии на дочерний элемент
Это XAML:
<ListView x:Name="DropList" DockPanel.Dock="Left" Foreground="White"
Drop="DropList_Drop"
DragEnter="DropList_DragEnter"
AllowDrop="True"
DragOver="DropList_DragOver" >
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Rectangle x:Name="DeleteAttachment" Height="Auto" Width="Height" MouseLeftButtonDown="DeleteAttachment_MouseLeftButtonDown">
<Rectangle.Fill>
<VisualBrush Visual="{StaticResource appbar_checkmark_cross}" />
</Rectangle.Fill>
</Rectangle>
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Это код:
ObservableCollection<String> fileNames;
public Page()
{
InitializeComponent();
DropList.ItemsSource = fileNames;
}
private void DeleteAttachment_MouseLeftButtonDown(object sender, MouseButtonEventArgs) {
fileNames.Remove();
}
Спасибо большое за ответ, это действительно меня на правильном пути :) После нескольких часов Я надеялся, что кто-то поможет, и 6 минут назад я собирался проверить стек перед сном и vi ola :) –
Извините, что я не мог продвинуться раньше, но теперь это сработало, когда я разблокировал «следующий уровень» :) –
Спасибо, сэр! – jsanalytics