or
private void OnDragQueryHandler(object sender, DragDropQueryEventArgs e){ if (e.Options.Status == DragStatus.DragQuery) { RadTreeViewItem item = e.OriginalSource as RadTreeViewItem; ContentControl cue = new ContentControl(); cue.ContentTemplate = this.Resources["ApplicationDragTemplate"] as DataTemplate; cue.Content = new TextBlock() { Padding = new Thickness(5), Background = new SolidColorBrush(Colors.LightBlue), FontSize = 12 }; if (item.Item is CustomItem) { // do stuff } else { e.QueryResult = false; return; } e.Options.DragCue = cue; } e.QueryResult = true;}private void OnDragInfoHandler(object sender, DragDropEventArgs e){ if (e.Options.Status == DragStatus.DragComplete) { // do stuff }}
And drop code:
private void OnDropQueryHandler(object sender, DragDropQueryEventArgs e)
{
var payload = e.Options.Payload;
e.QueryResult = payload is CustomItem;
}
private void OnDropInfoHandler(object sender, DragDropEventArgs e)
{
if (e.Options.Status == DragStatus.DropPossible)
{
UI_RadChart.BorderBrush = WPConstants.DRAG_BRUSH;
}
else
{
UI_RadChart.BorderBrush = null;
}
if (e.Options.Status == DragStatus.DropComplete)
{
// DO STUFF, NOT REACHING HERE
}
}
var cmd = default(RoutedUICommand);switch (newVal){ case Go.Previous: { cmd = RadGridViewCommands.MoveUp as RoutedUICommand; } break; case Go.Next: { cmd = RadGridViewCommands.MoveDown as RoutedUICommand; } break;}if (cmd != null && cmd.CanExecute(null, gridView)){ cmd.Execute(null, gridView); var selectCmd = RadGridViewCommands.SelectCurrentUnit as RoutedUICommand; if (selectCmd != null && selectCmd.CanExecute(null, gridView)) { selectCmd.Execute(null, gridView); }}<Telerik:RadGridView x:Name="uxGratuitiesDataGrid" Margin="-11,-11,-11,0" Grid.Row="0" IsReadOnly="True" CanUserSortColumns="True" CanUserFreezeColumns="False" CanUserReorderColumns="False" AutoExpandGroups="False" ColumnWidth="*" AutoGenerateColumns="False" RowIndicatorVisibility="Collapsed" ShowGroupPanel="False" ShowColumnFooters="True" IsFilteringAllowed="False" ItemsSource="{Binding SelectedGroupBooking.DailyBreakDown, Source={StaticResource Presenter}}"> <Telerik:RadGridView.Columns> <!-- Gratuity amount --> <Telerik:GridViewDataColumn DataMemberBinding="{Binding Gratuity.BaseAmount, Converter={StaticResource AmountConverter}, UpdateSourceTrigger=PropertyChanged}" Header="Base Amount"> </Telerik:GridViewDataColumn> <!-- Total Gratuity amount --> <Telerik:GridViewDataColumn DataMemberBinding="{Binding Gratuity.TotalAmount, Converter={StaticResource AmountConverter}}" Header="Total Amount"> <Telerik:GridViewDataColumn.AggregateFunctions> <Telerik:SumFunction SourceField="Gratuity.TotalAmount"/> </Telerik:GridViewDataColumn.AggregateFunctions> </Telerik:GridViewDataColumn> </Telerik:RadGridView.Columns>public ObservableCollection<VomRoomStayBreakDown> DailyBreakDown { get { return _dailyBreakDown; } set { _dailyBreakDown = value; OnPropertyChanged("DailyBreakDown"); } } public VomGratuity Gratuity { get { return _gratuity; } set { _gratuity = value; OnPropertyChanged("Gratuity"); } }
public FldInteger Quantity { get { return _quantity; } set { _quantity = value; OnPropertyChanged("Quantity"); } } public VomAmount BaseAmount { get { return _baseAmount; } set { _baseAmount = value; OnPropertyChanged("BaseAmount"); } } public VomAmount TotalAmount { get { return _totalAmount; } set { _totalAmount = value; OnPropertyChanged("TotalAmount"); } }