public void Scroll_on_wheel()
        {
            var items = Enumerable.Range(1, 100).Select(i => Tuple.Create(i.ToString())).ToList();

            WpfTestHelper.WithWindow2(async w => {
                var grid = new DataGrid2();
                grid.AutoGenerateColumns = false;
                grid.Columns.Add(new DataGridTextColumn {
                    Binding = new Binding("Item1")
                });
                w.Content = grid;

                grid.RaiseEvent(new MouseWheelEventArgs(System.Windows.Input.Mouse.PrimaryDevice,
                                                        0,
                                                        -System.Windows.Input.Mouse.MouseWheelDeltaForOneLine)
                {
                    RoutedEvent = UIElement.PreviewMouseWheelEvent,
                    Source      = grid,
                });
                grid.ItemsSource = items;
                await grid.WaitIdle();
                grid.CurrentItem   = items[0];
                grid.CurrentColumn = grid.Columns[0];
                grid.RaiseEvent(new MouseWheelEventArgs(System.Windows.Input.Mouse.PrimaryDevice,
                                                        0,
                                                        -System.Windows.Input.Mouse.MouseWheelDeltaForOneLine)
                {
                    RoutedEvent = UIElement.PreviewMouseWheelEvent,
                    Source      = grid,
                });
                Assert.AreEqual("2", ((Tuple <string>)grid.CurrentItem).Item1);

                await w.WaitIdle();
            });
        }
示例#2
0
        public void Commit_edit()
        {
            var scheduler = new TestScheduler();
            var viewModel = new ViewModel();
            var items     = new List <Item> {
                new Item()
            };

            var grid = new DataGrid2();

            grid.DataContext  = viewModel;
            grid.ItemsSource  = items;
            grid.SelectedItem = items[0];
            new Editable(scheduler).Attach(grid);
            grid.RaiseEvent(WpfTestHelper.TextArgs("1"));

            Assert.IsTrue(viewModel.updated);
            Assert.IsFalse(viewModel.commited);

            scheduler.AdvanceByMs(2000);
            Assert.IsTrue(viewModel.commited);
            Assert.AreEqual(1, items[0].Value);
        }