【问题标题】:Grid doesn't stretch inside ListPicker item网格不会在 ListPicker 项目内延伸
【发布时间】:2014-06-27 08:17:59
【问题描述】:

我在 ListPicker 完整模式项中有 Grid。网格有两列。第一列应该左对齐,第二列右对齐。

很遗憾,此模板无法按预期工作:

<DataTemplate x:Name="ListFullModeItemTemplate">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="auto"/>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>

        <TextBlock Grid.Column="0" Text="{Binding Name}" />
        <TextBlock Grid.Column="1" Text="{Binding Description}" HorizontalAlignment="Right" />
    </Grid>
</DataTemplate>

第二个 TextBlock 不右对齐。

当我将 Grid Width 属性设置为特定值时,即

<Grid Width="700">
    ...
</Grid>

然后它可以工作,但我不能这样做,因为用户可以将手机旋转到纵向/横向。

有什么想法吗?

编辑: 我在 ListBox 中也遇到了同样的问题。 我通过添加来修复它:

<ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <ContentPresenter HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
                 </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ListBox.ItemContainerStyle>

我不能在 ListPicker 中使用它,因为它没有 ItemContainerStyle 元素。

【问题讨论】:

    标签: silverlight windows-phone-7


    【解决方案1】:

    设置网格的宽度。

    并用 += 改变它: OrientationChanged += new EventHandler(SecondPage_OrientationChanged);

    【讨论】:

    • 我无法再验证您的回复,但我认为它是有效的。
    【解决方案2】:

    尝试添加TextAlignment="Right"

    【讨论】:

    • 没有任何改变。我也尝试将 Horizo​​ntalAlignment="Stretch" 添加到 Grid 但都不起作用。
    猜你喜欢
    • 1970-01-01
    • 2015-11-27
    • 2019-03-19
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多