私はListBoxを持っています、それはObservableCollection
に縛られています。DataTemplatesを使用したWPF ListBoxItems - DataTemplate内からListBoxItemにバインドされたCLRオブジェクトを参照するにはどうすればよいですか?
各ListBoxItem
は、DataTemplate
と表示されます。 DataTemplate
にボタンがあります。ボタンをクリックすると、ObservableCollection
のメンバーへの参照が必要になります。これはDataTemplateの一部です。ボタンをクリックするとアイテムが選択されないので、ListBox.SelectedItem
プロパティは使用できません。
いずれか:マウスを動かしたとき、またはボタンをクリックしたときに正しくListBox.SelectedItem
を設定する方法を理解する必要があります。または、ボタンが属するListBoxItem
にバインドされたCLRオブジェクトへの参照を取得する別の方法を理解する必要があります。 2番目のオプションはきれいだと思われますが、いずれにしてもOKです。以下
簡体字のコードセグメント:
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自体ではありません。 –