public void SelectedItem_Validation() { using (UnitTestApplication.Start(TestServices.MockThreadingInterface)) { var target = new Carousel { Template = new FuncControlTemplate <Carousel>(CreateTemplate), IsVirtualized = false }; target.ApplyTemplate(); target.Presenter.ApplyTemplate(); var exception = new System.InvalidCastException("failed validation"); var textObservable = new BehaviorSubject <BindingNotification>(new BindingNotification(exception, BindingErrorType.DataValidationError)); target.Bind(ComboBox.SelectedItemProperty, textObservable); Assert.True(DataValidationErrors.GetHasErrors(target)); Assert.True(DataValidationErrors.GetErrors(target).SequenceEqual(new[] { exception })); } }
public MainWindow() { InitializeComponent(); var comboImgBinding = ImgCombo.Bind(ComboBox.ItemsProperty, sourcePath); var carousBinding = ImagesCar.Bind(Carousel.ItemsProperty, sourceImg); var comboClassBinding = NumCombo.Bind(ComboBox.ItemsProperty, sourceNum); var listBocBinding = ImagesListBox.Bind(ListBox.ItemsProperty, sourceLB); sourceNum.OnNext(new List <int> { 0, 1, 2, 3, 4, 5 }); ImgCombo.SelectionChanged += (s, e) => { sourceImg.OnNext(new List <Avalonia.Controls.Image> { Images[ImgCombo.SelectedIndex] }); }; NumCombo.SelectionChanged += (s, e) => { UpdateResults(); }; ClassButton.Click += (s, e) => { StopButton.IsEnabled = true; ProccText.IsVisible = true; NumCombo.IsEnabled = true; if (!isProcessing) { BeginSession(); } }; StopButton.Click += (s, e) => { if (myRec != null) { myRec.Stop(); } isProcessing = false; StopButton.IsEnabled = false; ProccText.IsVisible = false; }; DBButton.Click += (s, e) => { int count; using (var db = new ImagesContext()) { var imgs = db.Images.ToList(); foreach (var im in imgs) { db.Images.Remove(im); } db.SaveChanges(); count = db.Images.ToList().Count; } DBAmountText.Text = "Pictures in database amount: " + count; }; this.FindControl <Button>("ChooseDir").Click += async(s, e) => { var dialog = new OpenFolderDialog(); var res = await dialog.ShowAsync(GetWindow()); if (res != null) { imgDir = res.ToString(); UpdateImages(imgDir); ClassButton.IsEnabled = true; } }; }