如何在WPF中的列表框项目中的图像周围包装文本?基本上,我想创建一个左侧有图像的列表项模板,然后文本环绕它。
我尝试使用流文档控件,它看起来像我想要的,但是当它在列表框内时,如果你在流文档的边界内单击,则所选事件不会触发,这会使首先将它放在列表框中的目的。以下是我所谈论的一个示例:
<ListBox ScrollViewer.CanContentScroll="False" Height="297" HorizontalAlignment="Left"
Margin="159,0,0,0" Name="updateList" VerticalAlignment="Top" Width="260">
<ListBoxItem Padding="0" Margin="0" BorderBrush="Black" BorderThickness="0,1,0,0"
Width="235" Height="150">
<FlowDocumentScrollViewer Padding="0" Margin="0" VerticalScrollBarVisibility="Auto" HorizontalAlignment="Left" VerticalAlignment="Top" FontStretch="Normal">
<FlowDocument TextAlignment="Left">
<Paragraph Padding="0" Margin="0">
<Floater Width="40" Margin="0,0,10,0" Padding="0" HorizontalAlignment="Left">
<BlockUIContainer>
<Image Source="/quickviewWPF;component/exclaimationPoint.png" Width="40" />
</BlockUIContainer>
</Floater>
Item Item Item Item Item Item Item Item Item Item Item Item
</Paragraph>
</FlowDocument>
</FlowDocumentScrollViewer>
</ListBoxItem>
答案 0 :(得分:1)
这感觉有点hacky但是在FlowDocumentScrollViewer上你可以添加属性“IsHitTestVisible”并将其设置为false。
设置IsHitTestVisible将导致FlowDocumentScrollViewer及其内部的所有内容无法点击,并且点击完成的点击测试将进入ListBoxItem
<FlowDocumentScrollViewer IsHitTestVisible="False" />