如何在WPF中的列表框项目中的图像周围环绕文本?

时间:2012-03-05 20:06:07

标签: wpf visual-studio-2010

如何在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>

1 个答案:

答案 0 :(得分:1)

这感觉有点hacky但是在FlowDocumentScrollViewer上你可以添加属性“IsHitTestVisible”并将其设置为false。

设置IsHitTestVisible将导致FlowDocumentScrollViewer及其内部的所有内容无法点击,并且点击完成的点击测试将进入ListBoxItem

<FlowDocumentScrollViewer IsHitTestVisible="False" />