3

スプラッシュ スクリーンにテキストの進行状況を表示するコントロールを作成する必要があります (たとえば、読み込まれたさまざまなモジュールと起動の状態を表示します)。新しいテキストが前のテキストを滑らかなアニメーションで押し上げるように、最後の 3 行または 4 行のみをコントロールに表示したいと思います。

このコントロールまたは他のコントロールに TextBox コントロールを使用する必要がありますか? 誰かが私を正しい方向に向けることができれば、それは素晴らしいことです.

4

2 に答える 2

0

この効果は、、ListBoxテキストをListBoxItemsとして、カスタムアニメーションを使用して非常に簡単に実現できますPanel。つまり、は各アイテムのプロパティにオブジェクトをPanel追加します。これにより、アイテムの位置への移動をアニメーション化できます。TransformRenderTransform

アニメーションを作成する方法については、この非常に優れた記事Panelを参照してください...もちろん、カスタムコードを記述して、アイテムを希望どおりに配置する必要があります。カスタムを作成したら、次のように(自分がいる名前空間への参照を含めたと仮定して)Panelそれを使用できます。ListBoxPanel

<ListBox HorizontalContentAlignment="Stretch" 
    ScrollViewer.HorizontalScrollBarVisibility="Disabled">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <YourXmlns:YourAnimatedStackPanelPanel />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>
于 2012-02-06T23:54:12.020 に答える
0

ちょっと考えただけですが、別の行が追加されるたびに1行ずつスクロールしたいとおっしゃいました。を使用してはScrollViewer.LineUpどうですか?私はこれが非常に大雑把であることを知っていますが、アイデアとして...

private void ScrollBox()
{
    foreach (string line in lines)
    {
        scrollbox.LineUp();
        textbox.Text += "/r/n Next Line";
    }
}
于 2012-03-24T14:16:18.700 に答える