在做socket客户端和服务端的时候,Server类,还有各种数据处理类都建的是单独的类,然后MainWindow.xaml.cs里就只写了类似以下的代码。
Server server=new Server(1,4000); server.Init(); server.Start(new IPEndPoint(IPAddress.Parse("192.168.4.222"), 5555)); server.StartAccept(null);
然后后台逻辑就开始跑了,最终我在一个处理数据的类中,是纯cs,拿到了数据,然后用控制台打印。数据传输什么的都做好了我发现我不知道怎么把这数据交给主窗体了。接触wpf很少很少,希望前辈指点一下。谢谢。
使用ObservableCollection类绑定数据,动态更新数据即可。代码类似如下:
static ObservableCollection<String> files=new ObservableCollection<string>()
在App启动之后,开个独立线程获取数据,这样不影响UI线程。
data binding
我是在server类里开始,然后调用了其他的类,最终获取到的数据是在其他类里的,是单纯的cs文件,就比如一个FileManager,拿到了客户端的文件列表,这数据已经在FileManager里的GetFiles这个方法下拿到并解析好了。然后比如List<String> files.addrange(所有文件名)。那么现在我想让这些数据显示到主窗体。这怎么去绑定呢?? 我的做法是在APP里边声明了静态变量static List<String> files=new List<string>();然后在FileManager的GetFiles拿到东西后把那个拿到的信息赋值给files。然后主窗体绑定的时候也是通过App.files来绑定数据。 这样虽然可行但是app已加载的一瞬间这得声明多少东西出来啊。我后边还得做注册表传送,文件,图片等等。请问一下有什么好的方式吗??关键问题就是将类中数据传给船体。