在 XAML 中相互重叠的文本块

本文关键字:文本 重叠 XAML | 更新日期: 2023-09-27 18:32:07

这就是我试图获得的:

Name
Date

这是我拥有的 XAML。但结果是,名称和日期这两个文本相互重叠。

<DataTemplate>
    <Grid x:Name="showGrid">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <StackPanel>
            <Grid Height="{Binding widthMA}" Width="{Binding widthMA}">
                <Grid Margin="3.5" Background="White">                                                                
                    <Grid VerticalAlignment="Bottom" Background="Black" Height="30">
                        <TextBlock Text="{Binding strName}" Style="{StaticResource AlbumTitleText}" Grid.Row="0" />
                        <TextBlock Text="{Binding dateCreated}" Style="{StaticResource ArtistTitleText}" Grid.Row="1" />
                    </Grid>
                </Grid>
            </Grid>
        </StackPanel>                                                
    </Grid>
</DataTemplate>

AlbumTitleTextArtistTitleText的样式都在这里

<Style x:Key="AlbumTitleText" TargetType="TextBlock">
    <Setter Property="Foreground" Value="White" />
    <Setter Property="HorizontalAlignment" Value="Left" />
    <Setter Property="FontSize" Value="18" />
    <Setter Property="FontFamily" Value="Fonts/Gotham-Bold.ttf#Gotham Bold" />
    <Setter Property="TextTrimming" Value="CharacterEllipsis" />
    <Setter Property="FontWeight" Value="Bold" />            
    <Setter Property="Margin" Value="10,-2,10,7"></Setter>
</Style>
<Style x:Key="ArtistTitleText" TargetType="TextBlock">
    <Setter Property="Foreground" Value="White" />
    <Setter Property="HorizontalAlignment" Value="Left" />
    <Setter Property="FontSize" Value="16" />
    <Setter Property="FontFamily" Value="Fonts/Gotham-Bold.ttf#Gotham Bold" />
    <Setter Property="TextTrimming" Value="CharacterEllipsis" />
    <Setter Property="FontWeight" Value="Normal" />
    <Setter Property="Margin" Value="10,7,10,0"></Setter>
</Style>

在 XAML 中相互重叠的文本块

我认为您的行定义在错误的位置。尝试。。。

<DataTemplate>
     <Grid x:Name="showGrid">
         <StackPanel>
            <Grid Height="{Binding widthMA}" Width="{Binding widthMA}">
                <Grid Margin="3.5" Background="White">                                                                
                    <Grid VerticalAlignment="Bottom" Background="Black" Height="30">
                         <Grid.RowDefinitions>
                             <RowDefinition Height="Auto"/>
                             <RowDefinition Height="Auto"/>
                          </Grid.RowDefinitions>
                        <TextBlock Text="{Binding strName}" Style="{StaticResource AlbumTitleText}" Grid.Row="0" />
                        <TextBlock Text="{Binding dateCreated}" Style="{StaticResource ArtistTitleText}" Grid.Row="1" />
                    </Grid>
                </Grid>
            </Grid>
        </StackPanel>                                                
    </Grid>
</DataTemplate>