public DemoListBox()
        {
            InitializeComponent();

            // create drag/drop manager
            _dd = new C1DragDropManager();

            // register drop targets
            foreach (ListBox lb in new ListBox[] { _list1, _list2 })
            {
                _dd.RegisterDropTarget(lb, true);
                foreach (Person p in Person.Generate(5))
                {
                    var personElement = new ContentPresenter();
                    personElement.Content         = p;
                    personElement.ContentTemplate = (DataTemplate)Resources["StudentTemplate"];

                    lb.Items.Add(personElement);
                    _dd.RegisterDragSource(personElement, DragDropEffect.Move, ModifierKeys.None);
                    personElement.MouseDown += (s, e) =>
                    {
                        // _dd is the first to get the event.
                        // Then we mark it handled to inhibit ListBox selection stealing _dd's mouse capture.
                        e.Handled = true;
                    };
                }
            }

            // handle the drops
            _dd.DragDrop += _dd_DragDrop;
        }
Exemplo n.º 2
0
        public DemoListBox()
        {
            InitializeComponent();

            // create drag/drop manager
            _dd = new C1DragDropManager();

            // register drop targets
            foreach (ListBox lb in new ListBox[] { _list1, _list2 })
            {
                _dd.RegisterDropTarget(lb, true);
                foreach (Person p in Person.Generate(5))
                {
                    var personElement = new ContentPresenter();
                    personElement.Content = p;
                    personElement.ContentTemplate = (DataTemplate)Resources["StudentTemplate"];

                    lb.Items.Add(personElement);
                    _dd.RegisterDragSource(personElement, DragDropEffect.Move, ModifierKeys.None);
                    personElement.MouseDown += (s, e) =>
                    {
                        // _dd is the first to get the event.
                        // Then we mark it handled to inhibit ListBox selection stealing _dd's mouse capture.
                        e.Handled = true;
                    };
                }
            }

            // handle the drops
            _dd.DragDrop += _dd_DragDrop;
        }
        public MainWindow()
        {
            InitializeComponent();

            // ensure flex template has been loaded
            _flex.ApplyTemplate();

            // make rows tall enough to show our custom objects
            _flex.Rows.DefaultSize = 50;

            // no editing
            _flex.IsReadOnly = true;

            // create unbound rows and columns
            for (int r = 0; r < 50; r++)
            {
                _flex.Rows.Add(new Row());
            }
            for (int c = 0; c < 10; c++)
            {
                _flex.Columns.Add(new Column());
            }

            // create objects (model) and assign them to grid cells
            for (int r = 0; r < _flex.Rows.Count; r++)
            {
                for (int c = 0; c < _flex.Columns.Count; c++)
                {
                    if ((r + c) % 2 == 0)
                    {
                        _flex[r, c] = new MyDataObject(r, c);
                    }
                }
            }

            // register flex as drop target
            var ddMgr = new C1DragDropManager();

            ddMgr.RegisterDropTarget(_flex, true);
            ddMgr.DragStart += DdMgr_DragStart;
            ddMgr.DragDrop  += _ddMgr_DragDrop;

            // activate custom cell factory
            _flex.CellFactory = new MyCellFactory(ddMgr);
        }
Exemplo n.º 4
0
        public MainWindow()
        {
            InitializeComponent();

            // ensure flex template has been loaded
            _flex.ApplyTemplate();

            // make rows tall enough to show our custom objects
            _flex.Rows.DefaultSize = 50;

            // no editing
            _flex.IsReadOnly = true;

            // create unbound rows and columns
            for (int r = 0; r < 50; r++)
            {
                _flex.Rows.Add(new Row());
            }
            for (int c = 0; c < 10; c++)
            {
                _flex.Columns.Add(new Column());
            }

            // create objects (model) and assign them to grid cells
            for (int r = 0; r < _flex.Rows.Count; r++)
            {
                for (int c = 0; c < _flex.Columns.Count; c++)
                {
                    if ((r + c) % 2 == 0)
                    {
                        _flex[r, c] = new MyDataObject(r, c);
                    }
                }
            }

            // register flex as drop target
            var ddMgr = new C1DragDropManager();
            ddMgr.RegisterDropTarget(_flex, true);
            ddMgr.DragDrop += _ddMgr_DragDrop;

            // activate custom cell factory
            _flex.CellFactory = new MyCellFactory(ddMgr);
        }
 public MyCellFactory(C1DragDropManager ddMgr)
 {
     _ddMgr = ddMgr;
 }
Exemplo n.º 6
0
 public MyCellFactory(C1DragDropManager ddMgr)
 {
     _ddMgr = ddMgr;
 }