2012-07-02 4 views
7

진행률 표시 줄과 바퀴가 사용되는 진행 상황을 보여주는 예제가 많이 있습니다. 나는 단 하나의 자바 스크립트 예제가 생략 점 (점 - 점 - 점)을 표시하여 진행을 참조 할 수 있으므로이 질문에 대해 생각했습니다. 내 응용 프로그램은별로 복잡하지 않습니다. 단지 몇 개의 확인란과 하나의 버튼 만 있습니다. 최근에 팀에서 개선을 요청했으며 간단하게 유지하려고합니다.WPF 버튼에서 도트 점 도트 진행 표시

필요한 설정을 구성한 후 사용자가 클릭하는 'GO'버튼이 있습니다. 그 뒤에있는 코드도 매우 간단합니다. 클릭 이벤트 후 버튼을 사용할 수 없게되고 ProcessStartInfo을 사용하는 독립 실행 형 exe는 'reconcle', 'post'및 'publish'의 세 가지 작업을 수행합니다. 단추를 다시 사용하려면 WaitForExist() 메서드를 사용합니다.

팀에 '현재 진행 상황'이 표시되도록 요청되었습니다. 단순히 버튼 텍스트에 조정을 표시하기 만하면됩니다. Reconciling .. Reconciling ... (규칙적인 간격으로 1 초) 다음에 유사한 방식으로 게시 및 게시가 이루어집니다.

이 작업을 수행하는 가장 적합한 방법을 알고 있으면 좋을 것입니다. 미리 감사드립니다.

답변

9

가장 간단한 방법은 ObjectAnimationUsingKeyFrames입니다. Content에 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 A를위한

예. 이것을 구현하고 더 많은 도움이 필요하면 알려 드리겠습니다. 하나; WinForms 숙취가 있기 때문에; 솔루션이 xaml보다는 코드에서 더 많이 처리되기를 바랬습니다. –