Cela répond XAML 2 questions que j'ai eu des problèmes avec l'aide de l'échantillon standard XAML (affiché par Chris) à partir des sources du Toolkit. J'ai également simplifié le XAML pour ajouter simplement un bouton Annuler.
- liaison de données (voir ici: http://forums.silverlight.net/forums/p/163280/368692.aspx)
- Hiding la barre de progression par défaut, b/c une fois que vous utilisez modèle de données que vous devez utiliser votre propre barre de progression, de sorte que vous pouvez contrôler le positionnement
REMARQUE: J'utilise Caliburn Micro pour MVVM et, si vous n'utilisez pas MVVM, vous utiliserez probablement un gestionnaire d'événement click normal pour le bouton Annuler.
Exemple de code
:
<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>
Je viens de voir ce que je d/l source Toolkit. Je suppose que tout ce qui me manque avec cet extrait est le gestionnaire d'événements pour le bouton _Cancel_, dans lequel je peux définir IsBusy = false. Merci. – RyBolt