Good morning,
I'm trying to bind a FilterDescriptor value to the tag value of a treeview item. Is this possible?
I have the following code but it doesn't work:
<telerikData:FilterDescriptor Member="ParkID" Operator="IsEqualTo" Value="{Binding ElementName=treeParks, Path=SelectedItem.Tag}" />
Thank you for your time,
Rob
<!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) --><MethodInformation> <tenantid>0</tenantid> <namespaceName>BusinessServer.BusinessPolicies.ServiceContractsComponent</namespaceName> <className>ServiceContractsBusPolicyMgr</className> <methodName>ExtractVouchersAndPostToInvoice</methodName> <runAsynchronously>Y</runAsynchronously> <autoRestart/> <parameters> <parameter> <name>contractsequencein</name> <value/> </parameter> <parameter> <name>subsequencein</name> <value/> </parameter> <parameter> <name>billingdatein</name> <value/> </parameter> <parameter> <name>requestclosedatein</name> <value/> </parameter> <parameter> <name>additionalparametersin</name> <parametercollection> <parameter> <name>tablename</name> <value/> <name>columnname</name> <value>posting_group</value> <name>columnvalue</name> <value>KL</value> </parameter> </parametercollection> </parameter> <parameter> <name>theplaceidtobillin</name> <value/> </parameter> <parameter> <name>theinvoiceconsolidationruleidin</name> <value/> </parameter> </parameters></MethodInformation>
XmlDataProvider xProviderResource = new XmlDataProvider();
XmlDocument xParameterDoc = new XmlDocument();
xParameterDoc.LoadXml(strXml);
xProviderResource.IsAsynchronous = false;
xProviderResource.Document = xParameterDoc;
xProviderResource.XPath = "MethodInformation/parameters/parameter";
IEnumerable<XmlNode> iXnodeEnum = xProviderResource.Data as IEnumerable<XmlNode>;
ObservableCollection<XmlNode> obsElementCollection = new ObservableCollection<XmlNode>(iXnodeEnum);
radGridView2.ItemsSource = obsElementCollection;<Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <telerik:RadChart ItemsSource="{Binding Points}" > <telerik:RadChart.DefaultView> <telerik:ChartDefaultView> <telerik:ChartDefaultView.ChartLegend> <telerik:ChartLegend Visibility="Collapsed"/> </telerik:ChartDefaultView.ChartLegend> <telerik:ChartDefaultView.ChartArea> <telerik:ChartArea > <telerik:ChartArea.AxisX> <telerik:AxisX MinValue="{Binding MinX}" MaxValue="{Binding MaxX}" AutoRange="False" Step="{Binding StepX}" /> </telerik:ChartArea.AxisX> <telerik:ChartArea.AxisY> <telerik:AxisY MinValue="{Binding MinY}" MaxValue="{Binding MaxY}" AutoRange="False" Step="{Binding StepY}" StripLinesVisibility="Collapsed"/> </telerik:ChartArea.AxisY> </telerik:ChartArea> </telerik:ChartDefaultView.ChartArea> </telerik:ChartDefaultView> </telerik:RadChart.DefaultView> <telerik:RadChart.SeriesMappings> <telerik:SeriesMapping LegendLabel="Line"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False"> <telerik:LineSeriesDefinition.Appearance> <telerik:SeriesAppearanceSettings> <telerik:SeriesAppearanceSettings.PointMark> <telerik:PointMarkAppearanceSettings Shape="Diamond" /> </telerik:SeriesAppearanceSettings.PointMark> </telerik:SeriesAppearanceSettings> </telerik:LineSeriesDefinition.Appearance> </telerik:LineSeriesDefinition> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping FieldName="Item1" DataPointMember="XValue"/> <telerik:ItemMapping FieldName="Item2" DataPointMember="YValue"/> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> <telerik:SeriesMapping LegendLabel="Line"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False"> <telerik:LineSeriesDefinition.Appearance> <telerik:SeriesAppearanceSettings> <telerik:SeriesAppearanceSettings.PointMark> <telerik:PointMarkAppearanceSettings Shape="Diamond" /> </telerik:SeriesAppearanceSettings.PointMark> </telerik:SeriesAppearanceSettings> </telerik:LineSeriesDefinition.Appearance> </telerik:LineSeriesDefinition> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping FieldName="Item1" DataPointMember="XValue"/> <telerik:ItemMapping FieldName="Item4" DataPointMember="YValue"/> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> </telerik:RadChart.SeriesMappings> </telerik:RadChart> <Slider Grid.Row="1" Value="{Binding MinY, Mode=TwoWay}" Minimum="-10" Maximum="10" SmallChange=".5" LargeChange="5"/> </Grid>public class ViewModel : INotifyPropertyChanged { private double _minY = -10; private double _maxY = 50; private double _stepY = 10; private double _minX = 0; private double _maxX = 50; private double _stepX = 10; public ViewModel() { MaxY = 50; StepY = 10; MinX = 0; MaxX = 50; StepX = 10; Points = new ObservableCollection<Tuple<double, double, double, double>>(); Random r = new Random(); Points.Add(Tuple.Create(.1, -8d, 1d, 5d)); for (double i = 20; i < 50; i += 4) { Points.Add(Tuple.Create(i, i - 8, (i - 5) + (r.NextDouble() * 9 - 4.5), i - 25)); } } public ObservableCollection<Tuple<double, double, double, double>> Points { get; private set; } public double MinX { get; private set; } public double MaxX { get; private set; } public double StepX { get; private set; } public double MinY { get { return _minY; } set { _minY = value; OnPropertyChanged("MinY"); } } public double MaxY { get; private set; } public double StepY { get; private set; } protected void OnPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } public event PropertyChangedEventHandler PropertyChanged; }
while working with the Q3 11 controls, everything worked well with draging from the TreeView.
The current scenario is that we allow reordering of tree items, but we also allow dragging outside the tree.
When the dragged treeview item is being dragged over a specific control, we cancel the drag using:
Telerik.Windows.DragDrop.DragDropManager.AddQueryContinueDragHandler(solutionTree, solutionTree_QueryContinueDrag);
And then in the QueryContinueDrag do:
e.Action = DragAction.Cancel;
e.Handled = true;
And call (with a BeginInvoke) to a function on my classes that starts a DragDrop (using microsoft drag drop) with my own UI.
The exception happens after the drop.
All signs point to the fact that the exception comes from your code.
This is the stack stace:
at MS.Win32.UnsafeNativeMethods.DoDragDrop(IDataObject dataObject, IOleDropSource dropSource, Int32 allowedEffects, Int32[] finalEffect)
at System.Windows.OleServicesContext.OleDoDragDrop(IDataObject dataObject, IOleDropSource dropSource, Int32 allowedEffects, Int32[] finalEffect)
at System.Windows.DragDrop.OleDoDragDrop(DependencyObject dragSource, DataObject dataObject, DragDropEffects allowedEffects)
at System.Windows.DragDrop.DoDragDrop(DependencyObject dragSource, Object data, DragDropEffects allowedEffects)
at Telerik.Windows.DragDrop.DragDropManager.DoDragDrop(DependencyObject dragSource, Object data, DragDropEffects allowedEffects, DragDropKeyStates initialKeyState, Object dragVisual, Point relativeStartPoint, Point dragVisualOffset)
at Telerik.Windows.DragDrop.DragInitializer.StartDrag()
at Telerik.Windows.DragDrop.DragInitializer.StartDragPrivate(UIElement sender)
at Telerik.Windows.DragDrop.DragInitializer.DragSourcePreviewMouseMove(Object sender, MouseEventArgs e)
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)
at System.Windows.Threading.Dispatcher.InvokeImpl(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.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at System.Windows.Application.Run()
at Unitronics.Shell.UI.App.Main() in C:\Users\itais\Desktop\NG\NG Projects\Sources\Unitronics.Shell\Unitronics.Shell.UI\obj\Debug\App.g.cs:line 0
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
A similar problem was reported here:http://www.telerik.com/community/forums/wpf/draganddrop/app-crash-when-dropping-into-wordpad.aspx
Please fix it, or suggest a fix ASAP.
Thanks.
FrameworkElementFactory column = new FrameworkElementFactory(typeof(GridViewDataColumn));column.SetValue(Telerik.Windows.Controls.GridViewDataColumn.DataMemberBidingProperty, object myObject);<telerik:RadTreeView telerik:AnimationManager.IsAnimationEnabled="False" Grid.Row="0" ItemsSource="{Binding ElementName=ElementRoot, Path=RoleList}" SelectedItem="{Binding ElementName=ElementRoot, Path=SelectedRole, Mode=TwoWay}" ItemContainerStyle="{StaticResource ApplicationTreeViewStyle}" IsOptionElementsEnabled="True" ItemsOptionListType="CheckList" IsTriStateMode="True" DropExpandDelay="00:00:00" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" /><HierarchicalDataTemplate DataType="{x:Type Models:Role}" ItemsSource="{Binding Children}"> <TextBlock Text="{Binding DisplayName}" /></HierarchicalDataTemplate><Style x:Key="ApplicationTreeViewStyle" TargetType="{x:Type telerik:RadTreeViewItem}"> <Setter Property="IsSelected" Value="{Binding Path=Selected, Mode=TwoWay}"/> <Setter Property="CheckState" Value="{Binding Path=Checked, Mode=TwoWay, Converter={StaticResource Bool2ToggleConverter}}"/> <Setter Property="IsExpanded" Value="{Binding Path=Expanded, Mode=TwoWay}" /></Style>