我的情况类似。 我正在使用多国机器设备,这是我做的:
首先,在我的《观点》中,我设立了一个称为IsBusy的财产:
public bool IsBusy
{
get { return _isBusy; }
set
{
_isBusy = value;
NotifyPropertyChanged("IsBusy");
}
}
然后,在装上实际数据时,我冒犯了一起同步事件。 但是,在我这样做之前,我就把“我们”的财产确定为“我们”。 在我的XAML中,我对 cur子有约束力:
<UserControl x:Class="UserControls.Views.AgentListView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:Converters="clr-namespace:UserControls.Utility.Converters"
xmlns:Controls="clr-namespace:UserControls.Controls"
xmlns:DependencyProperties="clr-namespace:UserControls.DependencyProperties"
Cursor="{Binding IsBusy, Converter={Converters:CursorExtensionConverter}}" >
库尔斯ExtensionConverter只是一个简单的IValueConverter,将一个ool子转换为适当的 Cur价值,可由XAML理解:
namespace UserControls.Utility.Converters
{
public class CursorExtensionConverter : MarkupExtension, IValueConverter
{
private static CursorExtensionConverter instance = new CursorExtensionConverter();
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value != null && ((bool) value))
return Cursors.Wait;
else
return Cursors.Arrow;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
return instance;
}
}
}
当数据按顺序排列时,我把数据 back回法国宇宙航行局,然后将IsBusy财产 false。 然后,治疗师恢复正常。
至于随同声呼和向情报和安全局打退,我让大家看一下,因为它是这一答案的不同部分。 我使用一名行动代表,把它称作BeginInvoke,然后我用在这里发现的一种技术,把它称作ID thread:。
我希望能帮助!