У меня нет большого опыта работы с WPF, и я считаю его более простым способом разметки / кодирования пользовательского интерфейса в .net.
Я установил последний выпуск Rx и без проблем воспроизводил его с помощью консольного приложения. Когда я использовал его в простом приложении WPF, кажется, что «Наблюдаемый» не нравится WPF ...
Я добавил обе ссылки на:
System.CoreEx
System.Reactive
при вводе в обработчике события щелчка кнопки интеллектуальный VS с радостью подхватывает класс Observable и его статические члены, однако при его компиляции «Observable» становится неизвестным контексту. Также интеллект ушел для класса ...
Если я уберу две вышеупомянутые ссылки и добавлю их снова, интеллект подхватит их ... при компиляции такая же ситуация повторяется ...
Я также установил версию rx silverlight, не все же не удача, пожалуйста, совет и помощь.
private void btnStart_Click(object sender, RoutedEventArgs e)
{
CheckBox[] chbServers = new CheckBox[] { chbMx1, chbMx2, chbMx3, chbMx4 };
ListBox[] lbxFiles = new ListBox[] { listBox1, listBox2, listBox3, listBox4 };
for (int i = 0; i < chbServers.Length; ++i)
{
if (chbServers[i].IsChecked == true)
{
string baseDir = string.Format(@"c:\maildrop\mx{0}", i + 1);
if (Directory.Exists(baseDir))
{
DirectoryInfo di = new DirectoryInfo(baseDir);
FileInfo[] fis = di.GetFiles("*.eml", SearchOption.AllDirectories);
//Observable.GenerateWithTime(
// 0,
// index => index <= fis.Length,
// index => index + 1,
// index => fis[index].Name,
// _ => TimeSpan.FromMilliseconds(300)
// )
// .ObserveOnDispatcher()
// .Subscribe(name =>
// {
// // delete the file
// lbxFiles[i].Items.Remove(name);
// });
}
}
}
}
Код с комментариями - это тот кусок, который вызывает проблемы ...
using System;
using System.Collections.Generic;
using System.Disposables;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.SqlClient;
все упомянутые пространства имен такие же, как указано выше ...