C# WPF lookupedit绑定不工作
我正在尝试将WCF服务的结果绑定到devexpress lookupedit 这是我创建的属性C# WPF lookupedit绑定不工作,c#,wpf,xaml,wcf-binding,C#,Wpf,Xaml,Wcf Binding,我正在尝试将WCF服务的结果绑定到devexpress lookupedit 这是我创建的属性 <!-- language: c# --> public class BindingModel { private static List < VW_ClientProcess> _clientProcess= new List< VW_ClientProcess>(); public List< VW_ClientProcess> clientPr
<!-- language: c# -->
public class BindingModel
{
private static List < VW_ClientProcess> _clientProcess= new List< VW_ClientProcess>();
public List< VW_ClientProcess> clientProcess
{
get
{
return _clientProcess;
}
set
{
_clientProcess = value;
OnPropertyChanged("clientProcess");
}
}
}
}
正在填充lookupedit编辑。我是WPF的新手。我不知道我在这里做错了什么。问题似乎是您正在创建
BindingModel的重复实例。因此,在这里,XAML创建一个实例,并将其分配给视图的DataContext:
<dxlc:LayoutGroup.DataContext>
<ViewModel:BindingModel />
</dxlc:LayoutGroup.DataContext>
但这样做不会使用现有实例,而是创建一个新实例,该实例不会附加到UI的任何位置:
BindingModel bind=new BindingModel();
bind.clientProcess = e.Result.GetClientProcessesResult.ToList< VW_ClientProcess>();
BindingModel bind=new BindingModel();
bind.clientProcess=e.Result.GetClientProcessesResult.ToList();
所以我猜你想要什么,而不是上面提到的:
var bind = (BindingModel)DataContext;
bind.clientProcess = e.Result.GetClientProcessesResult.ToList< VW_ClientProcess>();
var bind=(BindingModel)DataContext;
bind.clientProcess=e.Result.GetClientProcessesResult.ToList();
这些代码片段在一起没有意义。这是什么bind
对象?很抱歉,我现在编辑我的问题。bind是对象名。仍然很难看到发生了什么。。。例如,您如何设置DataContext?谢谢您的回复。我正在将BindingModel类设置为datacontext。谢谢,我想这澄清了它。再次感谢。我尝试了你的解决方案,它抛出了NullReferenceException嗨,非常感谢。NullReferenceException是因为我没有指定哪个DataContext。更改var bind=(BindingModel)DataContext;to var bind=(BindingModel)lgTopGroup.DataContext;工作。lgTopGroup是我已将datacontext设置为的layoutgroup的名称
<dxlc:LayoutGroup.DataContext>
<ViewModel:BindingModel />
</dxlc:LayoutGroup.DataContext>
BindingModel bind=new BindingModel();
bind.clientProcess = e.Result.GetClientProcessesResult.ToList< VW_ClientProcess>();
var bind = (BindingModel)DataContext;
bind.clientProcess = e.Result.GetClientProcessesResult.ToList< VW_ClientProcess>();