Этот xaml решает 2 проблемы, с которыми у меня были проблемы, используя стандартный образец XAML (опубликованный Крисом) из источников Toolkit.Я также упростил XAML, добавив кнопку Cancel .
- Привязка данных (см. Здесь: http://forums.silverlight.net/forums/p/163280/368692.aspx)
- Скрытие значения по умолчаниюИндикатор выполнения, b / c После того, как вы используете шаблон данных, вы должны использовать свой собственный индикатор выполнения, чтобы вы могли контролировать позиционирование
ПРИМЕЧАНИЕ. Я использую Caliburn Micro для MVVM, и если вы 'Если вы не используете MVVM, вы, вероятно, просто используете обычный обработчик событий нажатия кнопки Отмена.
Пример кода:
<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>