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 では使用できません。