<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: