C# LongListSelector内容与父项不匹配
我目前正在开发一个Windows Phone 8应用程序,其中我使用了C# LongListSelector内容与父项不匹配,c#,windows-phone-8,windows-phone,longlistselector,C#,Windows Phone 8,Windows Phone,Longlistselector,我目前正在开发一个Windows Phone 8应用程序,其中我使用了LongListSelector控件 我创建了一个ItemTemplate,其中网格作为容器,一些TextBlock作为子项。我不知道为什么,但是Grid容器与LongListSelector控件不匹配 这里是我使用的代码。我将蓝色背景用于LongListSelector控件,红色背景用于Grid控件,以突出显示问题: <phone:LongListSelector HorizontalContentAlignme
LongListSelector
控件
我创建了一个ItemTemplate
,其中网格作为容器,一些TextBlock
作为子项。我不知道为什么,但是Grid
容器与LongListSelector
控件不匹配
这里是我使用的代码。我将蓝色背景用于LongListSelector
控件,红色背景用于Grid
控件,以突出显示问题:
<phone:LongListSelector
HorizontalContentAlignment="Stretch"
HorizontalAlignment="Stretch"
ItemsSource="{Binding Data}"
Background="Aqua"
>
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<Grid
HorizontalAlignment="Stretch"
Background="Red"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25" />
<ColumnDefinition Width="75" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="50" />
<ColumnDefinition Width="47" />
<ColumnDefinition Width="100" />
<ColumnDefinition Width="45" />
<ColumnDefinition Width="35" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Style="{StaticResource LineStyle}" Text="{Binding Value}" />
<TextBlock Grid.Column="1" Style="{StaticResource LineStyle}" Text="{Binding Value}" />
<TextBlock Grid.Column="2" Style="{StaticResource LineStyle}" Text="{Binding Value}" TextAlignment="Left" TextTrimming="WordEllipsis" />
<TextBlock Grid.Column="3" Style="{StaticResource LineStyle}" Text="{Binding Value}" />
<TextBlock Grid.Column="4" Style="{StaticResource LineStyle}" Text="{Binding Value}" />
<TextBlock Grid.Column="5" Style="{StaticResource LineStyle}" Text="{Binding Value}" />
<TextBlock Grid.Column="6" Style="{StaticResource LineStyle}" Text="{Binding Value}" />
<TextBlock Grid.Column="7" Style="{StaticResource LineStyle}" Text="{Binding Value}" />
</Grid>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
这里是风格:
<Style x:Key="LineStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="Black" />
<Setter Property="FontSize" Value="13" />
<Setter Property="Margin" Value="0, 12" />
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
</Style>
下面是一个截图:
如何强制网格
容器(红色的容器)与其父容器匹配
提前感谢您的帮助 我认为这是由于LongListSelector的垂直滚动条,它在列表控件的右侧添加了空格 您可以通过在页面的init中添加以下代码段来删除这些空格
MyList.Loaded+=(发件人,e)=>
{
var scrollBar=((FrameworkElement)VisualTreeHelper.GetChild(MyList,0)).FindName(“垂直滚动条”)作为滚动条;
滚动条边距=新厚度(-10,0,0,0);
};