0

どちらも動的なヘッダーと説明テキストを含むこの longlistselector を取得しました。ロングリストセレクターの幅を超えると説明テキストが折り返されるようにスケーリングしたい。

以下の画像は、この問題をよく示しています。

ここに画像の説明を入力

どのように働きたいか:

ここに画像の説明を入力

そして、私が今得たコード:

                <Infrastructure:LongListSelector ItemsSource="{Binding TrackingInformationItems}" Width="480">
                <Infrastructure:LongListSelector.ItemTemplate>
                    <DataTemplate>
                        <templates:ListboxTemplateSelector Content="{Binding}">
                            <templates:ListboxTemplateSelector.HeaderAndBody>
                                <DataTemplate>
                                    <StackPanel Width="480" MaxWidth="480" Orientation="Horizontal" Margin="0,5,0,5" Visibility="{Binding Body, Converter={StaticResource EmptyStringConverter}}">
                                        <TextBlock Text="{Binding Header}" Style="{StaticResource TextboxLabelStyle}"/>
                                        <TextBlock Text="{Binding Body}" TextWrapping="Wrap"  Style="{StaticResource DefaultTextBlockStyle}"/>
                                    </StackPanel>
                                </DataTemplate>
                            </templates:ListboxTemplateSelector.HeaderAndBody>
                        </templates:ListboxTemplateSelector>
                    </DataTemplate>
                </Infrastructure:LongListSelector.ItemTemplate>
            </Infrastructure:LongListSelector>

これを達成する方法について何か提案はありますか? ありがとう

4

1 に答える 1

1

StackPanelあなたを aに埋め込み、代わりにGridyour をそれに適用してあなたWidthを呼び出しますTextWrappingが、Tonio が指摘したように、a にあるため十分なスペースがない場合は Body をヘッダーの下に配置しますStackPanel

<TextBlock MaxWidth="480" Margin="0,5" TextWrapping="Wrap" Visibility="{Binding Body, Converter={StaticResource EmptyStringConverter}}">
   <Run Text="{Binding Header}" Foreground="Blue"/>
   <Run Text="{Binding Body}"/>
</TextBlock>

お役に立てれば。

于 2013-08-05T13:25:24.290 に答える