listview itemtemplate with a image

时间:2012-08-25 16:12:55

标签: wpf user-interface listviewitem

我正在尝试创建一个ListViewItem模板,看起来像this,但我没有取得多大进展。

这是我到目前为止创建的样式:

<ListView.ItemTemplate>
    <DataTemplate>
        <Grid>
            <Border HorizontalAlignment="Stretch" Margin="1.5" CornerRadius="5" BorderThickness="1,1,1,1" BorderBrush="#FF997137">
                <Border.Background>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#FF4B4B4B" Offset="0" />
                        <GradientStop Color="#FF8F8F8F" Offset="1" />
                    </LinearGradientBrush>
                </Border.Background>
            </Border>
            <StackPanel Orientation="Horizontal" >
                <Image HorizontalAlignment="Left" Width="32" Source="/Images/stop.png" Stretch="Fill" Height="32" />
                <TextBlock Foreground="#FFECAD25" TextWrapping="Wrap" Width="150" >
                    This is a user control. The animation uses the attached BalloonShowing event.
                </TextBlock>
                <StackPanel Orientation="Vertical" >
                    <Image HorizontalAlignment="Right" Margin="0,10,5,0" VerticalAlignment="Top" Width="16" Height="16" Source="/Images/Close.png" Stretch="Fill"
                           Opacity="0.4" ToolTip="Delete" x:Name="Delete" />
                    <Image HorizontalAlignment="Right" Margin="0,5,5,0" VerticalAlignment="Top" Width="16" Height="16" Source="/Images/Close.png" Stretch="Fill"
                           Opacity="0.4" ToolTip="Edit" x:Name="Edit" />
                </StackPanel>
            </StackPanel>
        </Grid>
    </DataTemplate>
</ListView.ItemTemplate>

是否可以扩展图像/图标下方的文字?

2 个答案:

答案 0 :(得分:0)

我不相信使用`TextBlock'可以做任何开箱即用的方法。

但是,如果您能够使用FlowDocument控件,则可以选择以下选项:answer 1answer 2

答案 1 :(得分:0)

据我所知,不。至少没有简单的Image和TextBlock。 FlowDocument似乎是一个很好的解决方案, 查看此链接以获取更多信息: http://dotnetslackers.com/articles/wpf/WPFFlowDocumentsAndImages.aspx