5

我有一个具有较大字体大小的列表项的 LongListMultiSelector。由于这种字体更改,我意识到复选框总是与实际列表项不对齐。我尝试在每个级别更改水平和垂直对齐方式,并调整填充和边距值。这些更改了列表项内的文本块,但复选框保持在顶部,并且它给列表带来了扭曲的外观。

反正有没有让复选框垂直居中或管理它的填充?我意识到最近有一篇关于列表样式边距的帖子,但它似乎相当复杂,没有任何直接输入我的问题。

4

2 回答 2

3

我找到了解决方案。您可以像这样在数据模板中更改网格的边距 Margin="0,-15,0,22" - 在我的情况下,复选框的顶部边缘将平行于文本的顶部边​​缘。

希望它会帮助你。

<toolkit:LongListMultiSelector x:Name="SelectedPlayListLLS" ItemsSource="{Binding PlayListTracsObservationCollection}" LayoutMode="List" toolkit:TiltEffect.IsTiltEnabled="True">               <toolkit:LongListMultiSelector.ItemTemplate>
<DataTemplate>
<Grid Background="Transparent" Margin="0,-15,0,22">
    <Grid.RowDefinitions>
        <RowDefinition Height="auto"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="36" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Image  x:Name="image" 
            Width="36" 
            Height="36" 
            Source="{Binding Image}" VerticalAlignment="Top" Margin="0,15,0,0"/>
    <StackPanel Grid.Column="1">
        <TextBlock Text="{Binding Title}" 
            TextTrimming="WordEllipsis"
            Margin="12,0,0,0"/>
        <TextBlock Text="{Binding Name}"  
            TextTrimming="WordEllipsis" 
            Margin="12,0,0,0" Foreground="#99FFFFFF"/>
    </StackPanel>
    </Grid>
</DataTemplate>
</toolkit:LongListMultiSelector.ItemTemplate>   
</toolkit:LongListMultiSelector>
于 2013-08-01T15:05:25.940 回答
0

您总是可以尝试将复选框和文本块放在 StackPanel 中。从那时起,您可以调整复选框的对齐方式。

尝试这样的事情:

<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
       <CheckBox VerticalAlignment="Top" IsChecked="{Binding Selected}" />
       <TextBlock Text="{Binding DisplayName}" FontSize="40"/>
</StackPanel>
于 2013-04-24T16:07:44.080 回答