8

ただし、進行状況バーとホイールが使用されている進行状況を示す例がかなり見つかりました。進行状況を参照するために省略記号 (ドット-ドット-ドット) を表示する JavaScript の例が 1 つしか見つからなかったので、この質問をすることを考えました。私のアプリはそれほど複雑ではありません。いくつかのチェックボックスと 1 つのボタンしかありません。最近、私のチームは拡張を要求し、それもシンプルに保ちたいと考えています。

ユーザーが必要な設定を構成した後にクリックする「GO」という名前のボタンがあります。その背後にあるコードも非常に単純です。クリック イベントの後にボタンを無効にし、ProcessStartInfo「調整」、「投稿」、「公開」の 3 つのアクションを実行するスタンドアロンの exe を呼び出します。メソッドを使用してWaitForExist()、ボタンを再度有効にします。

チームから、ボタンに「現在のプロセス」を表示するように依頼されました。ボタンのテキストに Reconciling を表示したいだけです。Reconciling.. Reconciling... (一定の間隔で、たとえば 1 秒) 続いて、同様の方法で Posting と Publishing を行います。

これを達成するための最も適切な方法を知っておくとよいでしょう。前もって感謝します。

4

1 に答える 1

10

これを行う最も簡単な方法は、ObjectAnimationUsingKeyFrames. Content に TargetProperty を設定しValue、それぞれの を に設定DiscreteObjectKeyFrameReconciling. Reconciling.. Reconciling...ます。

名前ControlTemplate付き の例:ContentPresenterPART_Content

<ControlTemplate.Triggers>
    <Trigger Property="IsEnabled" Value="False">
        <Trigger.EnterActions>
            <BeginStoryboard>
                <Storyboard>
                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_Content" Storyboard.TargetProperty="Content" Duration="00:00:00.8" RepeatBehavior="Forever">
                        <DiscreteObjectKeyFrame KeyTime="00:00:00.0" Value="Loading"/>
                        <DiscreteObjectKeyFrame KeyTime="00:00:00.2" Value="Loading."/>
                        <DiscreteObjectKeyFrame KeyTime="00:00:00.4" Value="Loading.."/>
                        <DiscreteObjectKeyFrame KeyTime="00:00:00.6" Value="Loading..."/>
                    </ObjectAnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </Trigger.EnterActions>
    </Trigger>
</ControlTemplate.Triggers>
于 2012-07-02T23:15:19.430 に答える