Tôi có một ListBox, được gắn với một số ObservableCollection
.WPF ListBoxItems với DataTemplates - Làm thế nào để tôi tham chiếu đối tượng CLR bị ràng buộc vào ListBoxItem từ bên trong DataTemplate?
Mỗi ListBoxItem
được hiển thị với DataTemplate
. Tôi có một nút trong số DataTemplate
của mình, khi được nhấp, cần tham chiếu đến thành viên của ObservableCollection
đó là một phần của DataTemplate cho. Tôi không thể sử dụng thuộc tính ListBox.SelectedItem
vì mục này không được chọn khi nhấp vào nút.
Vì vậy, hoặc: Tôi cần tìm ra cách đặt đúng ListBox.SelectedItem
khi di chuột hoặc khi nút được nhấp. Hoặc tôi cần phải tìm ra một cách khác để có được một tham chiếu đến đối tượng CLR ràng buộc với ListBoxItem
rằng nút thuộc về. Tùy chọn thứ hai có vẻ sạch hơn, nhưng cả hai cách có thể là OK.
đoạn mã đơn giản dưới đây:
XAML:
<DataTemplate x:Key="postBody">
<Grid>
<TextBlock Text="{Binding Path=author}"/>
<Button Click="DeleteButton_Click">Delete</Button>
</Grid>
</DataTemplate>
<ListBox ItemTemplate="{StaticResource postBody}"/>
C#:
private void DeleteButton_Click(object sender, RoutedEventArgs e)
{
Console.WriteLine("Where mah ListBoxItem?");
}
Điều này là hoàn hảo và bạn cũng đã cố gắng khắc phục từ ngữ của câu hỏi của mình. Tôi sẽ chỉnh sửa nó khi bạn nói đúng, tôi quan tâm đến đối tượng CLR bị ràng buộc, không phải chính ListBoxItem. –