1

ListPicker フル モード アイテム内に Grid があります。グリッドには 2 つの列があります。最初の列は左揃え、2 番目の列は右揃えにする必要があります。

残念ながら、このテンプレートは期待どおりに機能しません。

<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>

2 番目の 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>

ItemContainerStyle 要素がないため、ListPicker では使用できません。

4

2 に答える 2

0

追加してみてくださいTextAlignment="Right"

于 2012-10-14T07:32:43.167 に答える
0

grid の幅を設定します。

+=: OrientationChanged += new EventHandler(SecondPage_OrientationChanged); で変更します。

于 2012-10-15T08:17:05.180 に答える