<UserControl xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:MHSVisualBoard_ViewModels="clr-namespace:MHSVisualBoard.ViewModels" mc:Ignorable="d" x:Class="MHSVisualBoard.MissionsByForklift" x:Name="UserControl" d:DesignWidth="582" d:DesignHeight="400" MaxWidth="550" MaxHeight="300" Width="550" Height="Auto"> <Grid x:Name="LayoutRoot"> <UniformGrid Margin="0" Rows="2" Columns="1"> <telerik:RadChart x:Name="charMissionsTrend" Content="" Style="{DynamicResource RadChartStyle}" OverridesDefaultStyle="True"/> <telerik:RadChart x:Name="chartMissionAssignedVsFinished" Content="" Style="{DynamicResource RadChartStyle}" OverridesDefaultStyle="True" ItemsSource="{Binding Data, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"> <telerik:RadChart.DataContext> <MHSVisualBoard_ViewModels:MissionsByForkliftViewModel> <MHSVisualBoard_ViewModels:MissionsByForkliftViewModel.Data> <MHSVisualBoard_ViewModels:ForkliftMissions AssignedMissions="12" FinishedMissions="3" ForkliftId="E1"/> <MHSVisualBoard_ViewModels:ForkliftMissions AssignedMissions="15" FinishedMissions="9" ForkliftId="E2"/> </MHSVisualBoard_ViewModels:MissionsByForkliftViewModel.Data> </MHSVisualBoard_ViewModels:MissionsByForkliftViewModel> </telerik:RadChart.DataContext> <telerik:RadChart.SeriesMappings> <telerik:SeriesMapping SeriesDefinition="{DynamicResource ISeriesDefinitionBarOne}"> <telerik:ItemMapping DataPointMember="XCategory" FieldName="{Binding Data[0].ForkliftId}"/> <telerik:ItemMapping FieldName="{Binding Data[0].AssignedMissions}" DataPointMember="YValue"/> </telerik:SeriesMapping> </telerik:RadChart.SeriesMappings> </telerik:RadChart> </UniformGrid> </Grid></UserControl>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Telerik.Windows.Controls;
using System.Collections.ObjectModel;
using System.ComponentModel;
namespace MHSVisualBoard.ViewModels
{
public class MissionsByForkliftViewModel : ViewModelBase
{
public MissionsByForkliftViewModel()
{
_data = new ObservableCollection<ForkliftMissions>();
}
public ObservableCollection<ForkliftMissions> Data
{
get
{
return _data;
}
set
{
if (value != _data)
{
_data = value;
this.OnPropertyChanged("Data");
}
}
}
private ObservableCollection<ForkliftMissions> _data;
}
public class ForkliftMissions : INotifyPropertyChanged
{
public ForkliftMissions()
{
}
public event PropertyChangedEventHandler PropertyChanged;
public string ForkliftId
{
get
{
return _forkliftId;
}
set
{
_forkliftId = value;
}
}
public int AssignedMissions
{
get
{
return _assignedMissions;
}
set
{
if (value != _assignedMissions)
{
_assignedMissions = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("AssignedMissions"));
}
}
}
public int FinishedMissions
{
get
{
return _finishedMissions;
}
set
{
if (value != _finishedMissions)
{
_finishedMissions = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("FinishedMissions"));
}
}
}
private string _forkliftId;
private int _finishedMissions;
private int _assignedMissions;
}
}
Hi, I am not sure that's true cause I Use this WCF :
Interface :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
namespace WcfServiceHotel
{
[ServiceContract]
public interface IServiceHotel
{
[OperationContract]
List<UserDetail> GetUserDetail(int id);
[OperationContract]
String InsertUserDetail(UserDetail userinfo);
[OperationContract]
List<UserDetail> GetAllHotel();
}
[DataContract]
public class UserDetail
{
int _id = 0;
string _Nom = String.Empty;
string _Ville = String.Empty;
[DataMember]
public int Id
{
get { return _id; }
/*private*/ set { _id = value; }
}
[DataMember]
public string Nom
{
get { return _Nom; }
set { _Nom = value; }
}
[DataMember]
public string Ville
{
get { return _Ville; }
set { _Ville = value; }
}
}
}
Class :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Data.SqlClient;
using System.Data;
namespace WcfServiceHotel
{
public class ServiceHotel2 : IServiceHotel
{
SqlConnection con = new SqlConnection("Data Source=.\\SqlEXPRESS;Initial Catalog=GestionHotel;Integrated Security=True");
public List<UserDetail> GetUserDetail(int id)
{
List<UserDetail> userdetail = new List<UserDetail>();
{
con.Open();
SqlCommand cmd = new SqlCommand("Select * from HotelIdentite where Id = @id", con);
// SqlCommand cmd = new SqlCommand("Select * from HotelIdentite where Id like '%'+@id+'%'", con);
cmd.Parameters.AddWithValue("@id", id);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
UserDetail userInfo = new UserDetail();
userInfo.Nom = dt.Rows[i]["Nom"].ToString();
userInfo.Ville = dt.Rows[i]["Ville"].ToString();
userdetail.Add(userInfo);
}
}
con.Close();
}
return userdetail;
}
public List<UserDetail> GetAllHotel()
{
List<UserDetail> usd = new List<UserDetail>();
{
con.Open();
SqlCommand cmd = new SqlCommand("Select Id,Nom,Ville From HotelIdentite", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
UserDetail ud = new UserDetail();
ud.Id = int.Parse(dt.Rows[i]["Id"].ToString());
ud.Nom = dt.Rows[i]["Nom"].ToString();
ud.Ville = dt.Rows[i]["Ville"].ToString();
usd.Add(ud);
}
}
con.Close();
}
return usd;
}
public string InsertUserDetail(UserDetail userinfo)
{
string strMessage = string.Empty;
con.Open();
SqlCommand cmd = new SqlCommand("Insert into HotelIdentite (Nom,Ville) Values (@Nom,@Ville)", con);
cmd.Parameters.AddWithValue("@Nom", userinfo.Nom);
cmd.Parameters.AddWithValue("@Ville", userinfo.Ville);
int result = cmd.ExecuteNonQuery();
if (result == 1)
{
strMessage = userinfo.Id + " Details inserted successfully";
}
else
{
strMessage = userinfo.Id + " Details not inserted successfully";
}
con.Close();
return strMessage;
}
//public override string ToString(int index, [OptionalField] int id,[OptionalField] UserDetail userinfo)
//{
// string result;
// switch (index)
// {
// case 1:
// GetUserDetail(id);
// break;
// case 2 :
// InsertUserDetail(userinfo);
// break;
// }
// return result;
//}
}
}
So for implemente I use two client : a Windows phone and WPF
for the WPF client the GetAllHotelCompletedEventArgs is missing and the same thing for the others methods and all the methods are not VOID :
Help me please
Tahnk you
I'm trying to accomplish a scenario and I'm failing to find a decent info about your drag and drop implementation. Help is seriously lacking info and have mixed RadDragAndDropManager and DragDropManager content which doesn't helps at all.
My scenario:
- Read only list (displayed in a RadListBox)
- Another RadListBox that should be populated with items from first one
- A Converter that converts items from one format to another
So I would like that items from first list aren't removed. In my current implementation I'm receiving an exception when dropping items on second list telling me that ItemsSource from the read-only listbox cannot be modified.
Any hints on how to accomplish this simple requirement?
Thanks
Exception details:
System.InvalidOperationException was unhandled by user code HResult=-2146233079 Message=Operation is not valid while ItemsSource is in use. Access and modify elements with ItemsControl.ItemsSource instead. Source=PresentationFramework StackTrace: at System.Windows.Controls.ItemCollection.CheckIsUsingInnerView() at System.Windows.Controls.ItemCollection.Remove(Object removeItem) at Telerik.Windows.DragDrop.Behaviors.DragDropBehavior`1.RemoveItems(IList source, IEnumerable items) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\Behaviors\Common\DragDropBehavior.cs:line 186 at Telerik.Windows.DragDrop.Behaviors.DragDropBehavior`1.DragDropCompleted(TState state) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\Behaviors\Common\DragDropBehavior.cs:line 161 at Telerik.Windows.DragDrop.Behaviors.DragDropHelper`2.DragDropCompleted(FrameworkElement dropItemsControl, Object data, Type itemType, Boolean wasCanceled) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\Behaviors\Common\DragDropHelper.cs:line 228 at Telerik.Windows.DragDrop.Behaviors.DragDropHelper`2.CompleteDrag(Object data, DragDropEffects effects) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\Behaviors\Common\DragDropHelper.cs:line 398 at Telerik.Windows.DragDrop.Behaviors.DragDropHelper`2.DragDropCompleted(Object sender, DragDropCompletedEventArgs e) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\Behaviors\Common\DragDropHelper.cs:line 392 at Telerik.Windows.DragDrop.DragDropCompletedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\DragDropCompletedEventArgs.cs:line 61 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.RaiseEvent(RoutedEventArgs e) at Telerik.Windows.DragDrop.IInputElementExtensions.RaiseEvent(DependencyObject d, RoutedEventArgs routedEventArgs) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\DependencyObjectExtensions.cs:line 82 at Telerik.Windows.DragDrop.DragDropManager.DoDragDrop(DependencyObject dragSource, Object data, DragDropEffects allowedEffects, DragDropKeyStates initialKeyState, Object dragVisual, Point relativeStartPoint, Point dragVisualOffset) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\DragDropManager.cs:line 1026 at Telerik.Windows.DragDrop.DragInitializer.StartDrag() in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\DragInitializer.cs:line 236 at Telerik.Windows.DragDrop.DragInitializer.StartDragPrivate(UIElement sender) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\DragInitializer.cs:line 186 at Telerik.Windows.DragDrop.DragInitializer.DragSourceOnMouseMove(Object sender, MouseEventArgs e) in c:\TB\117\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\DragInitializer.cs:line 163 at System.Windows.Input.MouseEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) 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.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted) at System.Windows.Input.InputManager.ProcessStagingArea() at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input) 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 MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) InnerException: