Windows ストア アプリケーションを取り組んで、アプリでやりたい事の 1 つはユーザーが物事を動作に、ステータス メッセージおよび他の情報の一口を示すログを表示します。. この目的のため, 次のように ListBox を追加:
<ListBox x:名前 ="GameStateLog" HorizontalAlignment ="センター" 高さ ="221" VerticalAlignment ="ページのトップへ" 幅 ="499" パディング ="0" フォント サイズ ="10">
実行時に listbox を作成する c# コードの線に沿っていた:
GameStateLog.Items.Insert(0, GameStateCounter + ": 新しいゲームの状態: プレイヤーを待っています。 1 名前");
これは十分うまく働いたが、追加されたときに UI が個々 のメッセージの周囲のパディングの狂気の量を示した. 私はエンドユーザーにこれらの項目を選択できるようにするとき私は実行している一連のログ メッセージを表示したい-ユーザーはこれらを選択しない意味をなさない場合理にかなっています。, 彼らをちょうど見る. 不思議なことにこれを行う簡単な方法を見つけるは難しいが、間違いなく, それを発見した方法が必ずしも「簡単」ではないが、私は [ok] を働いてそれを得ました. この投稿から来た重要な ここで (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) ボブ Relyea から. リスト ボックスの Items コレクションに文字列を追加するのではなく, ListBoxItems を追加します。. 文字列を追加することによって, ListBox は、独自に独自の ListBoxItem を作っていた. 事実の後その ListBoxItem について何かに影響を与えることができなかった. 新しいコードは:
プライベート void AddGameStateLogMessage(文字列 メッセージ) { ListBoxItem の李 = 新機能 ListBoxItem(); 李。コンテンツ = メッセージ; 李。高さの最大値 = 25; 厚さ thisPadding = 新機能 厚(5, 0, 5, 0); 李。パディング = thisPadding; GameStateLog.Items.Insert(0,李); }
ここで私は、ListBoxItem を作成して挿入し、. その厚さを設定することで余分なスペースを削除.
これはかなり柔軟ないくつかの色の特定の種類のメッセージを強調するためのコーディングを行うつもり、ListBoxItems を直接追加することによってどのようにスタイルを設定するんです。.
これは誰かを役に立てば幸い!
</終了>
私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin