ListBox
のダブルクリック機能を簡単に構築できるかどうかを知りたいと思います。私にはというようなコレクションがあるListBox
があります。コレクションには、独自のデータ型が含まれています。ListBoxでDataTemplateを使用するアイテムにDoubleClickを使用する
<ListBox ItemsSource="{Binding Path=Templates}"
ItemTemplate="{StaticResource fileTemplate}">
私はStackPanel
sおよびTextBlock
秒で構成され、私のItems
ためDataTemplate
を、定義されました。
<DataTemplate x:Key="fileTemplate">
<Border>
<StackPanel>
<TextBlock Text="{Binding Path=Filename}"/>
<TextBlock Text="{Binding Path=Description}"/>
</StackPanel>
</Border>
</DataTemplate>
ここで、ダブルクリックされたリストアイテムのダブルクリックイベントを検出したいとします。現在、私は次のように試してみましたが、ListBox
にバインドされた項目が返されず、TextBlock
にバインドされた項目は返されません。
if (TemplateList.SelectedIndex != -1 && e.OriginalSource is Template)
{
this.SelectedTemplate = e.OriginalSource as Template;
this.Close();
}
アイコンはListBoxItems
が、自身のDataTemplates
されていない場合、ListBox
でitem
をダブルクリックイベントを処理するためのクリーンな方法は何ですか?