0
有没有办法在忙时不显示BusyIndicator(IsBusy ='false')?在将Silverlight BusyIndicator添加到我的UserControl后,它使用了大面积区域,所有其他控件都向下移动,GUI看起来不再好。我需要的是,当它不忙时隐藏起来,并在忙时出现。Silverlight BusyIndicator
感谢您的帮助。
CK
有没有办法在忙时不显示BusyIndicator(IsBusy ='false')?在将Silverlight BusyIndicator添加到我的UserControl后,它使用了大面积区域,所有其他控件都向下移动,GUI看起来不再好。我需要的是,当它不忙时隐藏起来,并在忙时出现。Silverlight BusyIndicator
感谢您的帮助。
CK
我会用一个标准BooleanToVisiblityConverter和公开程度绑定到IsBusy性质类似这样的:
<Grid Height="500" Width="500" Background="Blue">
<Grid.Resources>
<Converters:BoolToVisConverter x:Key="BoolToVis"/>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Width="75">
<ToggleButton x:Name="BusyButton" Content="Toggle Busy State"/>
<ToggleButton x:Name="ProgressButton" Content="Toggle ProgressButton State"/>
</StackPanel>
<toolkit:BusyIndicator Grid.Row="1" IsBusy="{Binding IsChecked, ElementName=BusyButton}"
Visibility="{Binding IsBusy, RelativeSource={RelativeSource Self}}"/>
<ProgressBar Grid.Row="2" Width="120" Height="10" Margin="4 2" VerticalAlignment="Center" IsIndeterminate="True"
Visibility="{Binding IsChecked, ElementName=ProgressButton, Converter={StaticResource BoolToVis}}"/>
</Grid>
我提供了一个既BusyIndicator控件以及进度是这样的例子,所以你可以看到两个在行动。
的BooleanToVisibilityConverter是非常标准,并实现为这样:
public class BoolToVisConverter : IValueConverter
{
#region IValueConverter Members
public virtual object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null) return Visibility.Collapsed;
return (bool)value == true ? Visibility.Visible : Visibility.Collapsed;
}
public virtual object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
你可以显示你正在尝试做一些更多的代码 –