I have an interface pretty much identical to one located in the ExtJS examples page:
here
However, if you select items in the images panel, and then attempt to drag the scrollbar in any direction, the items are unselected and another drag instance is started. Makes sense on one level, but what if the user is trying to drag a large selection which involves panel scrolling?
Are there any quick fixes to allow me to drag and scroll without losing the drag selection?
Thanks!
Edit: Forgot to mention that this behaviour is reflected in the example listed above.
For those that are interested, I solved this by adding the following to the DataView:
autoHeight:true,
autoWidth:true,
style:'overflow:auto'
and added this to the Panel holding the DataView
autoScroll:true
Related
I'm dealing with an 'old' problem, the scroll position from a Panel is reset when returning to the application after leaving it.
I've got a DataGridView on a Panel, for the Panel the AutoScroll = True, so when the DataGridView is wider as the panel the horizontal scrollbar will appear.
When the user scrolls the Panel to a certain scroll position and leave the application, when returning to the application the scrollbar position is reset to the beginning.
I found several posts describing this behavior, one of the solutions that people talk about is: 'There is an overrideable ScrollToControl method in the ScrollableControl now. Replace the call to the base class implementation to return DisplayRectangle.Location and problem solved'
See: http://seewinapp.blogspot.com/2005/09/is-your-autoscroll-too-auto.html
I can not get to the right solution, how can I override the base class?
Can I override the base class when the panel is not placed programmatically?
I've already tried several things, almost tried every event to catch and set the scroll position to the value when the form is deactivated.
Please point me in the right direction, thanks in advance!
I'm looking for a WPF drag drop library/article/tutorial that can:
Drag/drop to reorder list box items
Animate the panel as item is dragged (as shown in screen shot)
I've had a quick look at Telerik's DragDropManager, which comes with ListBoxDragDropBehavior. It provides drag/drop reordering, but not quite the behaviour as in my screenshot.
I would love to learn to write one from scratch eventually (adorners, animated panels, etc), but I'm currently time-constrained to using out-of-the-box libraries.
[edit]
The behaviour I'm looking for is the same as Windows 8's start screen
Check out Moving WPF DataGrid Rows using Drag and Drop which shows how to reorder DataGrid rows via drag drop and how to customize the drag indicator.
I am trying to find a way to drag and drop between two grids(NOT datagrids). Both grids have 3 columns and the second grid gets populated based on whats dropped from first grid and the rows on second grid are generated dynamically. First grid has custom controls as icons. I am unable to get the items on the first grid as row/column co-ordinates but the mouse event handler gives me the (x,y) point co-ordinatels. Is there an easy way of doing this?
Thanks.
If I understand correctly then the main problem you have is to get the control under your mouse cursor. You can get it by using either UIElement.InputHitTest or VisualTreeHelper.HitTest to get that control / visual. Also do check out this article on MSDN: Hit Testing in the Visual Layer - it is a well-written explanation of this process with examples.
I need to have a ComboBox with multiple columns and column headers. I found Marco Zhou's GridComboBox demo which I like because it's a pretty bare bones approach to doing so and it supports declarative column binding. I've found a couple minor "bugs" or lacking styles with it, but the one that has me stumped is when I bind the combobox to a DataView with a few thousand rows, the first time I open the drop down, the popup displays in the top left hand corner for a few seconds, then jumps down under the toggle button where it should be. I notice while its displaying in the top left, if I hover my mouse over the items its response lags. After it pops back into the correct position it responds quickly. So it seems like it is still loading/processing while it is in the top left and then updates its position once it's done. Almost like virtualization is not working. How can this be fixed?
http://www.cnblogs.com/Files/sheva/GridComboBoxDemo.zip
ComboBox is not virtualizing by default. It must be switched on manually and this is not done in the code you provided. Read about: VirtualizingStackPanel for ComboBoxes.
I am working on an app where the user needs to be able to drag items from a datagrid onto a button (this then fires some data updates). After some messing around, I have this working quite well. I have used the DataGridDragDropTarget controls from the toolkit for this.
I now need to allow the user drag multiple rows at once. While the datagrid allows me to select multiple rows, the DataGridDragDropTarget will only drag the first of the selections.
It looks like the DataGridDragDropTarget is not built for multiple dragging.
Would be grateful for any help on this one, this is the first time I have posted on SO - and hoping you guys can come through for me.
Thanks all.
It will drag multiple rows for sure. I am sure you are doing same mistake as i did. I believe all your code are fine.
To drag multiple row click on one row press shift or ctrl to select multiple but "Note here: If you release your mouse click here before drag it will forget what are the multiple items it has selected", so just drag without leaving mouse on your last selected item.(So, I think it works that way without doing anything)
However I am also searching for someway to make it work like drag and drop as in desktop. ;-)