Jump to content
Software FX Community

ron.kagan

Members
  • Posts

    26
  • Joined

  • Last visited

Posts posted by ron.kagan

  1. Hi there.

    I'm still having many problems with this approach.

    My span can vary berween day, week , month etc...

    When the span is day it look great, but on other variants, setting the step to be the XWidth of the bar to be the span (week = 7 days, month = 30 days) it looks wrong, the bars and the step don't match, the labels appear not on the ticks as it should and it just not working.

    I am still not sure why doing what i did with the string labels (persuming i make sure all the dates are consecutive and if there is a gap i make sure to fill it with a zero value point)

  2. This method didn't work for me.

    I have tried a different approach - I have added a label property for my clr object, and set the label binding path to this property. however now i don't see any labels at all as before when i set the labels binding path to the 'X' property, I saw the labels but they were not formatted and only shown the date part of the the date time.

    What am i missing ? I was sure this would work as I simply assign a different property of string type to the axis x labels.

  3. Hi.

    I am creating a bar chart using this code :

    SeriesAttributes sa = new SeriesAttributes();

    sa.BindingPath = "Y";

    _myChart.AxisX.Labels.BindingPath = "X";

    The item source is a clr object collection where the clr object has two properties - x (datetime) and y (double).

    The problem i am having that the labels on the x axis are always appear as dd MMM yy

    even when i change the _myChart.AxisX.Labels.CustomFormat to something different - this works fine when doing the same for a line chart, but not on a bar chart.

  4. for any wpf control, the code for export a visual to image works, however for your chart element , it does not.

    doing the solution with the thread first gave me the cross thread violation , and using the dispatcher invoke, the result was that the image was not even black - it was completely empty.

    Can you think of another path for solving this critical issue ?

  5. Hello there.

    In my application I have multiple chart elements in different tabs. one scenario demands me to export all currently opened charts to images.

    however doing so results in black empty images for all charts that are not currently visible to the eye (visibility is visible but they are in a tab that is not the current active tab).

    Can you think of a reason a chart will export to a blank image ? Do you need more information on this issue ?

  6. Hello there. another issue i'm having with mouse interaction , is working with two chart elements on the same container. I need two chart elements (not two panes but two instances of the chart object) that will both be interactive. when i set mouse selection on the first chart and then on the second , IT will not be available on the second chart.

    I need an option to zoom on the 1st chart, and while viewing it zoomed , start a mouse selection on the other one.

    Is this possible ?

  7. One thing I have noticed, is that if a mouse selection has started, any mouse interaction like tool-tips, moving the scroll-bars when zoomed is disabled.

    I find this behavior limiting since I'm trying to achieve continous zooming (select a zoom area, and on the scroll view changed start another zoom selection so i won't need to click on a button to start each zoom selection). when this is the case, I cannot interact with the scroll-bars.

  8. Hello.

    I'm trying to change some point appearance like marker shape / size etc...

    as far as i understand, i can access the chart.Data to get the all the point attributes using the series and point index.

    when i change any of the point attribute like stroke or fill, the point will not appear on the chart.

  9. Hello. my charts usually contains large amount of points on a line type chart (hundred of thousands).

    when this amount is shown without markers, chart is drawn pretty quickly considered the large amount of data. when the markers are visible this becomes very slow to the point of unusable.

    is there any way to be able to work with markers with this amount of data ?

    This i s very critical to our project as this is a must have feature being able to handle large data.

  10. another issue related to mouse selection.

    I am working with actipro docking , and hosting the chartFX inside mdi (tabs)

    when i first open a new tab item with a chart, the mouse selection is not working at all, and only after i open another tab and then go back to the first tab, i can select point with the mouse.

    Can you think of anything i can try to do to fix this issue ?

  11. Hello. I need a way to fully be able to customize a point tool-tip. the best way i can think is to have a column on the data table i am using as a items source to contain the tool-tip text, and assign this column to the series attribute in some way so this text will appear as the point tool-tip.

    I know you can format the tool-tip using the %p %v etc... but i need the text to be created dynamically. another way is maybe using a template with a converter, and passing the entire chart element as the parameter to the converter. this way i can access some of the chart attributes when converting the value to the desired tool-tip.

    best scenario (other than pre-constructing the tooltip and binding it from a dedicated column) is to have a converter where i can access the point attributes including the x and y values, and the chart object as the parameter.

  12. thanx. I already figured the XValues = true and XWidth but what solved this was assigning the XValues = true before giving the series attributes the items source.

    I have another open question regarding mouse selection and zooming that was not answered for couple of days so if someone can have a look that will be nice.

  13. Thanx. I now understand that crosstab was indeed overkill.

    the problem is there are still issues regarding the axis x as before:

    I use (as suggested) this code :

    SeriesAttributes se = new SeriesAttributes();

    se.ItemsSource = histogramTable.DefaultView;

    se.BindingPath = "YValue";

    se.BindingPathX = "XValue";

    chart1.Series.Clear();

    chart1.Series.Add(se);

    setting the min/max of the axisx still throw the same exception as before.

  14. Sure thing.

    My data table consists of two columns - XValue (double) and YValue (int)

    here is the code I use

    chart1.Gallery = Gallery.Bar;

    chart1.ItemsSource = histogramTable.DefaultView;

    CrosstabTransform ctt = new CrosstabTransform();

    ctt.RowPath = "XValue";

    ctt.ValuePath = "YValue";

    ctt.XValuePath = "XValue";

    chart1.DataTransforms.Clear();

    chart1.DataTransforms.Add(ctt);

    in the databound event , if this two lines exist, I get the mentioned exception :

    chart.AxisX.Min = new DataUnit(_minXValue);

    chart.AxisX.Max = new DataUnit(_maxXValue);

    If i skip these two lines , the chart appears but with no visible data as the axis is not correct.

    if i "refresh" - where i reassign the itemsource to the chart and the lines that sets the axixX min/max are called again, the chart appears as it should

    post-7389-13922416300529_thumb.png

  15. Hello. I'm getting very frustrated with this control. I am working with a datatable that is crosstab transformed to a bar chart.

    in the databound event i am changing the x axis min and max, which caused the index was outside teh bounds of the array and this stacktrace :

    at ChartFX.WPF.SeriesDataArray.c(Int32 A_0)

    at ChartFX.WPF.DataArray.get_Item(Int32 series, Int32 point)

    at ChartFX.WPF.DataArray.ChartFX.WPF.Internal.IDataSimpleArray.get_Item(Int32 point)

    at ChartFX.WPF.GenericStepper.a(Double A_0, Double A_1)

    at ChartFX.WPF.NumericStepper.a(Double A_0, Double A_1, Double A_2, Double A_3, Boolean& A_4)

    at ChartFX.WPF.Axis.b(AxisPaint A_0, SectionAttributes& A_1, AxisPaintInfo& A_2, Double A_3, Double A_4, AxisPaintFlags A_5, Double A_6, Double A_7)

    at ChartFX.WPF.Axis.a(AxisPaint A_0, SectionAttributes& A_1, AxisPaintInfo& A_2, Double A_3, Double A_4, AxisPaintFlags A_5, Double A_6, Double A_7)

    at ChartFX.WPF.Axis.a(Size A_0, AxisPaintFlags A_1, FrameworkElement A_2, IPlotArea A_3, IAxisPainter A_4)

    at ChartFX.WPF.Axis.AxisPainter.OnRender(DrawingContext drawingContext)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at ChartFX.WPF.Controls.AxisPanel.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at ChartFX.WPF.Controls.SpacingDockPanel.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

    at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

    at ActiproSoftware.Windows.Controls.Docking.DockingWindowContainer.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

    at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

    at ActiproSoftware.Windows.Controls.Docking.HierarchyRootContainer.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

    at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

    at ActiproSoftware.Windows.Controls.Docking.Workspace.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at ActiproSoftware.Windows.Controls.Docking.SplitContainer.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

    at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Decorator.ArrangeOverride(Size arrangeSize)

    at System.Windows.Documents.AdornerDecorator.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

    at ActiproSoftware.Windows.Controls.Docking.HierarchyRootContainer.ArrangeOverride(Size finalSize)

    at ActiproSoftware.Windows.Controls.Docking.DockHost.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

    at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

    at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Decorator.ArrangeOverride(Size arrangeSize)

    at System.Windows.Documents.AdornerDecorator.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

    at ActiproSoftware.Windows.Controls.Docking.DockSite.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.DockPanel.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

    at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Controls.Decorator.ArrangeOverride(Size arrangeSize)

    at System.Windows.Documents.AdornerDecorator.ArrangeOverride(Size finalSize)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.Window.ArrangeOverride(Size arrangeBounds)

    at ActiproSoftware.Windows.Controls.Ribbon.RibbonWindow.ArrangeOverride(Size arrangeBounds)

    at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

    at System.Windows.UIElement.Arrange(Rect finalRect)

    at System.Windows.ContextLayoutManager.UpdateLayout()

    at System.Windows.UIElement.UpdateLayout()

    at System.Windows.Interop.HwndSource.SetLayoutSize()

    at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)

    at System.Windows.Interop.HwndSource.set_RootVisual(Visual value)

    at System.Windows.Window.SetRootVisual()

    at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight)

    at System.Windows.Window.CreateSourceWindowImpl()

    at System.Windows.Window.SafeCreateWindow()

    at System.Windows.Window.ShowHelper(Object booleanBox)

    at System.Windows.Window.Show()

    at System.Windows.Window.ShowDialog()

    at LogbiGUI.Boxes.ShowEBox(Exception e, String header, String additionalData, String relatedFile)

    at LogbiGUI.Boxes.ShowEBox(Exception e, String header, String additionalData, String relatedFile, String dllName)

    at LogbiUtils.Boxes.ShowEBox(Exception e, String header, String additionalData, String relatedFile) in E:\Visual Studio 2008 Projects\Logbi\LogbiUtils\Boxes.cs:line 101

    at LogbiUtils.Boxes.ShowEBox(Exception e) in E:\Visual Studio 2008 Projects\Logbi\LogbiUtils\Boxes.cs:line 69

    at Logbi.App.Current_DispatcherUnhandledException(Object sender, DispatcherUnhandledExceptionEventArgs e) in E:\Visual Studio 2008 Projects\Logbi\Logbi\App.xaml.cs:line 255

    at System.Windows.Threading.Dispatcher.CatchException(Exception e)

    at System.Windows.Threading.Dispatcher.CatchExceptionStatic(Object source, Exception e)

    at System.Windows.Threading.ExceptionWrapper.CatchException(Object source, Exception e, Delegate catchHandler)

    at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

    at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

    at System.Windows.Threading.DispatcherOperation.InvokeImpl()

    at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)

    at System.Threading.ExecutionContext.runTryCode(Object userData)

    at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)

    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)

    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

    at System.Windows.Threading.DispatcherOperation.Invoke()

    at System.Windows.Threading.Dispatcher.ProcessQueue()

    at System.Windows.Threading.Dispatcher.WndProcHook(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, Boolean isSingleParameter)

    at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

    I cannot figure out what i am doing wrong as this sounds something you should be able to do.

×
×
  • Create New...