C# 如何在“listview”UWP中的图像旁边添加文本

C# 如何在“listview”UWP中的图像旁边添加文本,c#,uwp,C#,Uwp,在我的列表视图中,我有歌曲专辑封面和名字。这很好,但在listview中,它会显示图像,然后在歌曲名称下面。我想有图像,然后在图像旁边的歌曲名称 这是我的代码: <ListView x:Name="AudioFilesLV" ItemsSource="{x:Bind MusicList}" Margin="10,146,10,113" FontStyle="Oblique" FontWeight="Bold"

在我的列表视图中,我有歌曲专辑封面和名字。这很好,但在listview中,它会显示图像,然后在歌曲名称下面。我想有图像,然后在图像旁边的歌曲名称

这是我的代码:

<ListView
        x:Name="AudioFilesLV" 
        ItemsSource="{x:Bind MusicList}"
        Margin="10,146,10,113"
        FontStyle="Oblique"
        FontWeight="Bold"
        ItemClick="SongClicked"
        ScrollViewer.VerticalScrollBarVisibility="Auto"
        IsItemClickEnabled="True" 
        RequestedTheme="Default" 
        Foreground="White" 
        CanDragItems="True"
        Background="#99ffffff"
        CornerRadius="25">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel Tapped="StackPanel_Tapped" >
                    <StackPanel Orientation="Horizontal">
                        <Image Source="{Binding AlbumCover}"/>
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding FileName}" />
                    </StackPanel>
                </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
我希望它是这样的:

 ----------
 | Image  |
 ----------
  Song Name
 ----------
 | Image  |  Song Name
 ----------

谢谢

您似乎有一个额外的、不必要的StackPanel。图像和文本块应该位于同一个on中,因此ListView的DataTemplate应该如下所示

<ListView.ItemTemplate>
    <DataTemplate>
        <StackPanel Tapped="StackPanel_Tapped" >
            <StackPanel Orientation="Horizontal">
                <Image Source="{Binding AlbumCover}" />
                <TextBlock Text="{Binding FileName}" />
            </StackPanel>
        </StackPanel>
    </DataTemplate>
</ListView.ItemTemplate>


您可能还想玩文本块的垂直对齐/垂直对齐属性,这样它们在中间排成一行。

看起来你有一个额外的,不必要的,StackPanel。图像和文本块应该位于同一个on中,因此ListView的DataTemplate应该如下所示

<ListView.ItemTemplate>
    <DataTemplate>
        <StackPanel Tapped="StackPanel_Tapped" >
            <StackPanel Orientation="Horizontal">
                <Image Source="{Binding AlbumCover}" />
                <TextBlock Text="{Binding FileName}" />
            </StackPanel>
        </StackPanel>
    </DataTemplate>
</ListView.ItemTemplate>


您可能还想玩文本块的垂直对齐/垂直对齐属性,这样它们在中间排成一行。

为什么要为文本块创建第二个堆栈面板?将其与图像放在同一个StackPanel中,这样应该可以工作。可能还需要在TextBlock上设置VerticalContentAlignment属性。当然!谢谢(真不敢相信我错过了:-)哈哈,我们所有人都会这样。为了完成,我将发布一个答案,以便您可以将其标记为已回答。
StackPanel
包含一组控件,您可以将控件放入其中,然后清除其方向。为什么要为TextBlock创建第二个StackPanel?将其与图像放在同一个StackPanel中,这样应该可以工作。可能还需要在TextBlock上设置VerticalContentAlignment属性。当然!谢谢(真不敢相信我错过了:-)哈哈,我们所有人都会这样。为了完成,我将发布一个答案,以便您可以将其标记为已回答。
StackPanel
包含一组控件,您可以将控件放在其中,只需清除其方向即可。