我有一个listbox
我在其中添加了textblock
和listboxitem
。
Xml看起来像这样:
<ListBox x:Name="DatabaseBox" ItemsSource="{Binding Book}">
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanelOrientation="Horizontal" Width="auto" Height="22">
<Image x:Name="ToggleFavoriteImage" Width="10" Height="10" Tag="{Binding Tag}" Source="{Binding ImageSource}" HorizontalAlignment="Center"/>
<TextBlock Text="{Binding Name}" HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Center"/>
<ListBoxItem Content="{Binding City}" HorizontalAlignment="Center"/>
<ListBoxItem Content="{Binding Author}" HorizontalAlignment="Center"/>
<ListBoxItem Content="{Binding Country}" HorizontalAlignment="Center"/>
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
我想要做的是为每个人提供Mouse Event
并从Text
获得TextBlock
,从Content
获得ListBoxItem
。我设法得到TextBlock
Text
,如下所示:
StringBuilder SName = new StringBuilder();
var name = sender as System.Windows.Controls.TextBlock;
SName.Append(name.Text);
但是当我尝试在ListBoxItem
中做同样的事情时,没有任何事情发生。看起来我既不能选择其中任何一个。感觉就像是ListBoxItem
的前方。
有什么想法吗?