Hey,
I am using a custom AppointmentSelectionBehaviour to prevent the user from selecting Appointments with more than 2 different resource types. This works correctly. The problem is that I wish to bind to the selected appointments. There is a property on the RadScheduleView called "SelectedAppointments" but I am not able to bind to it. Am I doing something wrong? I want to be able to modify the selected appointments in my view model.
Thanks
Hi, I’m having trouble implementing drag & drop of custom appointments into RadScheduleView and would be thankful if anyone could point me in the right direction.
I have a ListBox (standard WPF} which contains some items (files to be played). User can drag these items and place them onto RadSchedule (play time). I figured out how to enable dragging and transform the data into Appointment. I can see the created item when it’s being dragged over schedule view, but when I release the mouse /Drop/ nothing happens.
Item is not added to bound Appointments collection, nor is any *Drop event being raised. I should note there is a “Forbidden” mouse cursor icon when dragging.
When I drag
& resize appointments, that are already present in collection, everything
works as expected.
I was even
able to reproduce it with this simplified example:
public class MainWindowViewModel { public MainWindowViewModel() { appointments.Add( new Appointment() { Start = DateTime.Now, End = DateTime.Now.AddHours(1), Subject = "Test" }); } //ItemsSource for listbox private ObservableCollection<string> strings = new ObservableCollection<string>() { "First", "Second", "Third" }; public ObservableCollection<string> Strings { get { return strings; } set { strings = value; } } //ItemsSource for RadSceduleView private ObservableCollection<Appointment> appointments = new ObservableCollection<Appointment>(); public ObservableCollection<Appointment> Appointments { get { return appointments; } set { appointments = value; } } }
Behavior to transform dragged string into appointment collection:
public class DropBehavior : ScheduleViewDragDropBehavior { public override IEnumerable<IOccurrence> ConvertDraggedData(object data) { if (Telerik.Windows.DragDrop.Behaviors.DataObjectHelper.GetDataPresent(data, typeof(ListBoxItem), false)) { var lbItem = Telerik.Windows.DragDrop.Behaviors.DataObjectHelper.GetData(data, typeof(ListBoxItem), false) as ListBoxItem; return new Appointment[] { new Appointment() { Subject = (string)lbItem.DataContext } }; }; return base.ConvertDraggedData(data); } }
And final XAML:
<Window x:Class="ScheduleViewTest.MainWindow" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:local="clr-namespace:ScheduleViewTest" Title="MainWindow" Width="640" Height="480"> <Window.DataContext> <local:MainWindowViewModel/> </Window.DataContext> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="15"/> <ColumnDefinition Width="3*"/> </Grid.ColumnDefinitions> <ListBox ItemsSource="{Binding Strings}"> <ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True"/> </Style> </ListBox.ItemContainerStyle> </ListBox> <telerik:RadScheduleView x:Name="scheduler" Grid.Column="2" AllowDrop="True" AppointmentsSource="{Binding Appointments}"> <telerik:RadScheduleView.ViewDefinitions> <telerik:DayViewDefinition/> <telerik:MonthViewDefinition/> </telerik:RadScheduleView.ViewDefinitions> <telerik:RadScheduleView.DragDropBehavior> <local:DropBehavior/> </telerik:RadScheduleView.DragDropBehavior> </telerik:RadScheduleView> </Grid></Window>
As for version I'm using "2013.2.611.45" and preferably would like to avoid updating (legacy app)
Thanks for help and suggestions in advance.
Matej
Sir,
I have created menu with sub menu.But while i click on
menu,the sub menu is opening just right of that menu.I want to open
below and sub menu letter alignment should middle.If you make template
Grid Horizontal Alignment="left",then it is opening just below it properly but letter alignment becoming left.I want letter
alignment should be middle.Here i have attached my sample project link .If there is way to solve this,please help me.
https://drive.google.com/a/aisofttech.com/file/d/0Bz9Sv7mmLtkeeFBGTXB1OFVNTnM/view?usp=sharing
Hi, I'm trying to use ContainerShapes in my application, but I always get a NullReferenceException when I resize a ContainerShapes.
I've not been able to reproduce the issue in other applications so I'm quite sure it's something on my side, but the stacktrace contains only calls to Telerik code so I'm stuck trying to figure out what's wrong... Can you provide me some hints?
I'm on .NET framework 4.0, Telerik UI for WPF 2015.2.728.40.
Here is the stack trace of the exception:
at Telerik.Windows.Diagrams.Core.ManipulationTool.<>c__DisplayClass15.<>c__DisplayClass17.<CreateAsyncCommand>b__9(Object state)at Telerik.Windows.Diagrams.Core.UndoableDelegateCommand.Execute(Object state)at Telerik.Windows.Diagrams.Core.AsyncStateCommand.Execute(Object state)at Telerik.Windows.Diagrams.Core.AsyncStateCommand.Complete(Boolean commit, Object state)at Telerik.Windows.Diagrams.Core.CompositeAsyncStateCommand.Complete(Boolean commit, Object state)at Telerik.Windows.Diagrams.Core.ManipulationTool.MouseUp(PointerArgs e)at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)at Telerik.Windows.Diagrams.Core.ToolService.MouseUp(PointerArgs e)at Telerik.Windows.Controls.RadDiagram.OnMouseLeftButtonUp(MouseButtonEventArgs e)at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)at System.Windows.Input.InputManager.ProcessStagingArea()at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)at System.Windows.Application.RunDispatcher(Object ignore)at System.Windows.Application.RunInternal(Window window)at MyApplication.App.Main() in D:\git\dfm-designer\src\MyApplication\obj\x86\Debug\App.g.cs:line 0
Many thanks!
Hi,
i'm a newbie in c# or telerik. i'm using the RadScheduleView and try to edit the appointment by double-clicking time and the appointment dialog is appear, after i click OK the new appointment is now appear in UI. But after i close the app and run it again, the schedule is empty. why?
what is the best way to save my appointment?
I would like to treat a normal WMS server as a tiled source. I saw some sample using a CustomMapProvider, but I also see there is a WmsTiledProvider. Is that the class I should use, or should I use something like this: http://stackoverflow.com/questions/9769581/telerik-map-wms
To complicate matters, the WMS service uses maps in a Swedish meter based projection, EPSG:3006
Any help, preferably with sample, is appreciated!
/Magnus