0

Windows Phone 8 プロジェクトでは、いくつかのデータを含む次のリストボックスがあります。

忙しい猫

私が描いた赤い線に沿ってすべての日付をリストしたい. 基本的には、温度の後ではなく、開始後の N スペースの日付を出力したいと考えています。

今、私はこれを持っていますが、フォーマットがどのように機能するかを理解していません{}

for (int i = 0; i < values.Length; i++)
{
      listboxData.Items.Add(String.Format("{0,-12}{1,8}",values[i].value + unit, values[i].date));
}

それがどのように機能するか、および私の問題の可能な解決策を説明してもらえますか?

4

2 に答える 2

1

ListBox を使用している場合は、必要な書式に合わせて ItemTemplate を変更することをお勧めします。一時的な読み取りと読み取りの時間を含むオブジェクトのコレクション (値のコレクション) が既にあるようです。そのため、ItemsSource プロパティをそのコレクションに設定します。コードでこれを行うことができます

listBox.ItemsSource = values;

または、xamlで実行できます

<ListBox ItemsSource="{Binding values}" />

上記は、一時的な読み取り値を含む値プロパティを持つ DataContext があることを前提としています。

次のステップは、ItemTemplate を書式設定に合わせて変更することです。

<ListBox ItemsSource="{Binding values}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="55"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <TextBlock Text="{Binding value, StringFormat={}{0}°}"/>
                <TextBlock Text="{Binding date, StringFormat={}{0:MM/dd/yyyy hh:mm}}"
                           Grid.Column="1" />
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
于 2013-07-06T18:19:57.807 に答える
0

フォーマット文字列は正しいと思いますが、問題は実際のタイプのフォントです。すべての文字が同じ幅ではありません。Courier new は機能します (スペースを含むすべての文字が同じピクセル幅) が、それはあなたが望むものではないかもしれません。2列の事件を使用する必要があるかもしれません..多分テーブルでも?

例えば。i と A の 10 文字を出力します

ひぃぃぃぃぃぃ

ああああああああ

幅の違いがわかりますか?スタック オーバーフローは、True Type フォントを使用して投稿を表示しています..

于 2013-07-06T15:44:24.270 に答える