2011-01-05 7 views

답변

1

내가 표준 샘플 XAML을 사용하여 문제가 있었다 주소 2 문제 (게시 한이 XAML Chris)를 툴킷 ​​소스에서 가져 왔습니다. 또한 XAML을 단순화하여 취소 버튼을 추가했습니다.

  1. 데이터 바인딩 (여기 참조 : http://forums.silverlight.net/forums/p/163280/368692.aspx)
  2. , 기본 진행률 표시 줄을 숨기기는 데이터 템플릿을 사용하면 당신의 위치를 ​​제어 할 수 있도록, 자신의 진행률 표시 줄을 사용해야합니다 C/B

참고 : MVVM 용 Caliburn Micro를 사용하고 있습니다. MVVM을 사용하지 않는 경우 취소 버튼에 일반 클릭 이벤트 처리기를 사용할 것입니다.

코드 샘플 : 나는 리터 툴킷 소스/D로

<Controls:BusyIndicator IsBusy="{Binding IsBusy}" BusyContent="{Binding}"> 
    <Controls:BusyIndicator.BusyContentTemplate> 
     <DataTemplate> 
      <StackPanel Margin="4"> 
       <TextBlock Text="{Binding BusyContent}" FontWeight="Bold" HorizontalAlignment="Center" Margin="2"/> 
       <ProgressBar IsIndeterminate="True" Height="15" Margin="2"/> 
       <Button cal:Message.Attach="CancelBusyIndicator()" Content="Cancel" HorizontalAlignment="Right" Margin="2 2 2 2"/> 
      </StackPanel> 
     </DataTemplate> 
    </Controls:BusyIndicator.BusyContentTemplate> 
    <Controls:BusyIndicator.ProgressBarStyle> 
     <Style TargetType="ProgressBar"> 
      <Setter Property="Visibility" Value="Collapsed"/> 
     </Style> 
    </Controls:BusyIndicator.ProgressBarStyle> 
2

Expression Blend를 사용할 필요가 없습니다. 컨트롤에 BusyContentTemplate을 제공하기 만하면됩니다. Silverlight Toolkit 예제는 여기에서 이것을 보여줍니다 : http://www.silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html. 복사 및 그 예에서 조각 붙여 넣기 :이 도움이

<controlsToolkit:BusyIndicator IsBusy="True" DisplayAfter="0"> 
    <controlsToolkit:BusyIndicator.BusyContentTemplate> 
     <DataTemplate> 
      <StackPanel Margin="4"> 
       <TextBlock Text="Downloading Email" FontWeight="Bold" HorizontalAlignment="Center"/> 
       <StackPanel Margin="4"> 
        <TextBlock Text="Downloading message 4/10..."/> 
        <ProgressBar Value="40" Height="15"/> 
       </StackPanel> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition/> 
         <ColumnDefinition/> 
        </Grid.ColumnDefinitions> 
        <Button Grid.Column="0" Content="Pause" HorizontalAlignment="Right" Margin="0 0 2 0"/> 
        <Button Grid.Column="1" Content="Cancel" HorizontalAlignment="Left" Margin="2 0 0 0"/> 
       </Grid> 
      </StackPanel> 
     </DataTemplate> 
    </controlsToolkit:BusyIndicator.BusyContentTemplate> 
</controlsToolkit:BusyIndicator> 

희망 ...

를 크리스

+0

난 그냥이를 보았다. 나는이 스 니펫으로 빠진 부분은 IsBusy = false로 설정할 수있는 _Cancel_ 단추의 이벤트 처리기라고 생각합니다. 감사. – RyBolt

관련 문제