2012-07-02 15 views
7

進捗バーとホイールの使用状況を示す例がかなり見つかりました。私は進歩を参照するために省略記号(ドット・ドット・ドット)を表示する唯一のjavascriptの例を見つけることができたので、私はこの質問をしてみました。私のアプリはそれほど複雑ではありません。チェックボックスとボタンが1つしかありません。最近私のチームは強化を要請し、それを簡単に保ちたいと思っています。WPFボタンでドットドットの進捗状況を表示

必要な設定を行った後にユーザーがクリックする「GO」というボタンがあります。その背後にあるコードは、クリックイベントの後にボタンを無効にし、 'reconcle'、 'post'、 'publish'の3つのアクションを実行するProcessStartInfoを使用してスタンドアロンのexeを呼び出します。私はWaitForExist()メソッドを使用してボタンを再度有効にします。

ボタンに「現在の処理」が表示されていることがチームから要求されました。単にボタンのテキストに[調整]が表示されるようにします。 Reconciling .. Reconciling ...(定期的に1秒と言う)、それに続いて同様の方法で投稿と公開が行われます。

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

答えて

9

これを行う最も簡単な方法は、ObjectAnimationUsingKeyFramesです。コンテンツにTargetPropertyを設定し、それぞれDiscreteObjectKeyFrameValueReconciling. Reconciling.. Reconciling...に設定します。

<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> 
+0

どうもありがとう:ControlTemplatePART_Contentという名前ContentPresenter持つため

例。私はこれを実装しようとし、さらに助けが必要かどうかを知らせます。しかしながら; WinFormsの二日酔いがあるからです。ソリューションがxamlではなくコードでより多く処理されることを期待していました。 –

関連する問題