我有一個ListBox,這是綁定到ObservableCollection
。帶DataTemplates的WPF ListBoxItems - 如何從DataTemplate中引用CLR對象綁定到ListBoxItem?
每個ListBoxItem
會顯示一個DataTemplate
。我的DataTemplate
中有一個按鈕,點擊時需要參考ObservableCollection
的成員,它是DataTemplate的一部分。我無法使用ListBox.SelectedItem
屬性,因爲單擊該按鈕時該項目未被選中。
所以要麼:我需要弄清楚當鼠標懸停或點擊按鈕時,如何正確設置ListBox.SelectedItem
。或者我需要找出另一種方法來獲取對按鈕所屬的ListBoxItem
綁定的CLR對象的引用。第二種選擇似乎更清潔,但無論哪種方式都可能。
簡化代碼如下段:
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?");
}
這是完美的,你也設法修復我的問題的措辭。我會編輯它,因爲你是對的,我對綁定的CLR對象感興趣,而不是ListBoxItem本身。 – 2009-04-19 20:19:59