Jump to content
Software FX Community

beltrams

Members
  • Posts

    57
  • Joined

  • Last visited

Everything posted by beltrams

  1. Dear forum, I have a big problem on a chart I cant sort out. I have tried to write a demo application but I cannot replicate it not sure why. I have the following: A 3D chart with the following transform <cfx:Chart.DataTransforms><cfxData:CrosstabTransform RowPath="Name" ColumnPath="Ccy" ValuePath="Sales" /></cfx:Chart.DataTransforms> And binding to a List of public class Employee{public object Name { get; set; } public object Ccy { get; set; } public double Sales { get; set; }} When the chart first load the list is empty (new List<Employee>()) and the chart display "no data", which is fine When I refresh the first time it loads some data and it is correctly displayed and it is always fien if I provide data But if I refresh and provide again an emtry list (new List<Employee>(); the application crash with the followinf message: "Object reference not set to an instance of an object." at ChartFX.WPF.Internal.ResolvedAttributes3D.a(Brush A_0, Double A_1, Double A_2, Color A_3, Brush A_4) at ChartFX.WPF.Internal.ResolvedAttributes3D.get_Material() This does not happens if I change the chart to 2D or if I remove the DataTransform. I understand there are not a lot of details but I have been trying to replicate on a demo all the day without success.
  2. Thanks JuanC, The following made the trick: <cfx:Title HorizontalAlignment="Stretch" Content="{Binding }"> <cfx:Title.ContentTemplate> <DataTemplate> <Grid HorizontalAlignment="Stretch"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"></ColumnDefinition> <ColumnDefinition x:Name="InfoColumn" Width="Auto"></ColumnDefinition> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="{Binding ReportDetails, Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" FontSize="10" HorizontalAlignment="Center" VerticalAlignment="Center"TextWrapping="Wrap"/> </Grid> </DataTemplate> </cfx:Title.ContentTemplate> </cfx:Title>
  3. Dear Forum, I have a custom title that works ok but when I try to apply a new theme the following invalid operation exception is thrown: "Specified element is already the logical child of another element. Disconnect it first." The offending XAML is the following: <cfx:Chart.Titles> <cfx:Title HorizontalAlignment="Stretch"> <cfx:Title.Content> <Grid HorizontalAlignment="Stretch"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"></ColumnDefinition> <ColumnDefinition x:Name="InfoColumn" Width="Auto"></ColumnDefinition> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="{Binding ReportDetails, Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" FontSize="10" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" /> <Image Grid.Column="1" ToolTip="{Binding SnapshotMessage, Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center" VerticalAlignment="Center" Source="/Linedata.FM;component/Resources/Images/Info16.png" Width="16" Height="16"/> </Grid> </cfx:Title.Content> </cfx:Title> </cfx:Chart.Titles>If I replace the title content with an hardcoded string everything is fine but when I put there any other element my application crash. at System.Windows.FrameworkElement.ChangeLogicalParent(DependencyObject newParent) at System.Windows.FrameworkElement.AddLogicalChild(Object child) at System.Windows.Controls.ContentControl.OnContentChanged(Object oldContent, Object newContent) at System.Windows.Controls.ContentControl.OnContentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) at ChartFX.WPF.TitleContent.OnPropertyChanged(DependencyPropertyChangedEventArgs e) at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal) at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) at System.Windows.Controls.ContentControl.set_Content(Object value) at ChartFX.WPF.TitleContent..ctor(Title owner) at ChartFX.WPF.Title.a() at ChartFX.WPF.Title.ChartFX.WPF.Internal.IFrameworkObject.get_FrameworkElement() at ChartFX.WPF.Chart.a(DependencyObject A_0) at ChartFX.WPF.Chart.c(DependencyObject A_0, Int32 A_1) at ChartFX.WPF.Chart.b(DependencyObject A_0, Int32 A_1) at ChartFX.WPF.Chart.a() at ChartFX.WPF.Chart.f(Boolean A_0) at ChartFX.WPF.Chart.b(Object A_0, EventArgs A_1) at ChartFX.WPF.ChartBorder.OnApplyTemplate() at System.Windows.FrameworkElement.ApplyTemplate() at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at ChartFX.WPF.Chart.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) 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 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.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.Control.ArrangeOverride(Size arrangeBounds) 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 System.Windows.FrameworkElement.ArrangeCore(Rect finalRect) at System.Windows.UIElement.Arrange(Rect finalRect) at System.Windows.Controls.Canvas.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 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 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.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.DockPanel.ArrangeOverride(Size arrangeSize) at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect) at System.Windows.UIElement.Arrange(Rect finalRect) at System.Windows.ContextLayoutManager.UpdateLayout() at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg) at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork() at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget) at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget) 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.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, Boolean ignoreSyncCtx) 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, 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.Threading.Dispatcher.Run() 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 Linedata.FM.App.Main() in :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()
  4. beltrams

    Chart Title

    dear Forum The title use only the portion of space abobe the chart, so the space above the axis is lost (see screenshot), can this be controlled? Or can I dock a text somewhere on the top of all? thanks, Simone
  5. Dear Forum, Is it possible to have a placeholder instead of the legend box and a tooltip showing what generally is in the legendbox? Or have a legendbox that autohide if the mouse is not over the placeholder? If there is a XAML solution only it would be great... Many thanks.
  6. Dear Forum I can make the legend box visibility to work, I think it is because of the legend box datacontext or something. In my view model I have a property public System.Windows.Visibility LegendVisibility { get { return System.Windows.Visibility.Collapsed; }}and I have this binding: <cfx:Chart.LegendBox> <cfx:LegendBox Visibility="{Binding Path=LegendVisibility}"></cfx:LegendBox> </cfx:Chart.LegendBox>The binging fils because LegendVisibility is not found but I cannot understand why. I have attached a demo app. Thanks for any help.
  7. Many thanks! I will try it tomorrow. Simone
  8. Thanks, Please find attached a demo app with the attached behaviour. Simone
  9. Dear Forum, I am tring to format the number in the axis Y as follow -1000 < number < 1000: normal number 2 decimal places (10, -88, -674.23, 999.29) -1 000 000 < number <-1000 and 1000< number < 1000 000: "K at the end" ( 1400 = 1.40K, 98726 = 98.72K, and so on) number <= -1000 000 and number >= 1000 000: "M at the end" ( ( 1400000 = 1.40M, 98726000 = 98.72M, and so on)) I was able to do this with code behind and handling the GetLabels event event but unfortunatelly I cannot use it as I have a datatemplate with no code behind. I have also tried to add the GetLabels event handler with attached behaviour (this would be accettable for me) but for some reason the event is not fired or not hadled in that case. Can I specify a template for those numbers or Can you suggest me any approach? Thanks, Simone
  10. beltrams

    ChartFx Style

    Dear Forum, I am changing the style of my graph using a resource dictionary. I have some sort of block like the following: <Style x:Key="{x:Type cfx:Chart}" TargetType="{x:Type cfx:Chart}"> <Setter Property="Palette" Value="{x:Static cfx:Palettes.HighContrastBlack}"/> <Setter Property="Border" Value="{x:Static cfx:Borders.RoundedShadow}"/> <Setter Property="BorderBrush" Value="#FF121212"/> </Style>Fou can I set the charts to have the Spotlight style (andd the other properties) using this dictionary?
  11. Thanks JuanC, I have manged to do that. (I have also forgotten to mention before thatr the chart is in a DDL, but I have added the license in the main executable and it seems to work). I have another question, I have a build server, without ChartFx and witout Visual Studio installed. You mentioned that VS must embed the license in the executable, does it mean that I cannot produce releases with the bulid server? Or I need to buy some sort of special licese to do that? Thanks, Simone
  12. Where I can download this build? At the moment I am on version 8.0.3581.26941. Thanks
  13. Dear forum, What do I have to do to deploy my application with chart fx? The Graph is generated dinamically at runtime.
  14. Dear forum, I would like to set the chart color palette in an resource dictionary so that the palette changes when I change the theme of my application. I would like to use the default palettes, not write my own palette. If in the resourche dictionary I add <cfx:Palette key="palette1"> I have to rewrite the entire palette. Is there any way to set one of the default palettes (for example cfx:Palettes.HighContrastBlack) from a dictionary Thanks, Simone
  15. I have a chart with a CrosstabTransform that raise the followinf exception: "Object reference not set to an instance of an object." at ChartFX.WPF.Data.CrosstabTransform.l.a() at ChartFX.WPF.Data.CrosstabTransform.ChartFX.WPF.Internal.IColumnPropertiesProvider.GetProperties(ColumnGetter& columnGetter) at ChartFX.WPF.Internal.ColumnGetter.GetListProperties(Object objList, ColumnGetter& columnGetter, Object& objModel) at ChartFX.WPF.DataValues.a(IList`1 A_0, IEnumerable A_1, Int32 A_2, Boolean A_3) at ChartFX.WPF.DataValues.a(SeriesAttributesCollection A_0, IEnumerable A_1) at ChartFX.WPF.DataValues.a(DataBindingHelper A_0, Boolean A_1) at ChartFX.WPF.Chart.i(Boolean A_0) at ChartFX.WPF.Chart.e() at ChartFX.WPF.Chart.a(Object A_0, RoutedEventArgs A_1) at ChartFX.WPF.Chart.OnRenderSizeChanged(SizeChangedInfo sizeInfo) at System.Windows.ContextLayoutManager.fireSizeChangedEvents() at System.Windows.ContextLayoutManager.UpdateLayout() at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg) at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork() at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget) at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget) 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.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, Boolean ignoreSyncCtx) 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, 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.Threading.Dispatcher.Run() 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 Linedata.FM.App.Main() in :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() This happens when the data I am binding to has no rows. I can fix this doing the following: if (this.ReportData.Count() == 0) this._reportData = null; but the graph will show a fummy graph in this case. Is there a to dont show anything or an empty page or a message "do data availble" or something like this? Thanks.
  16. Whe I say that I need "object" because AxisXColumn can be String ot DateTime I meant not at the same time, or they are all DateTime or they are all String, not a mix of the two. Thanks
  17. Dear Forum, I have a chart with the following binding: <cfx:Chart ... ... ItemsSource="{Binding Path=ReportData, Mode=OneWay}" ... ..."> and the X axis with the format: < cfx:AxisLabelAttributes Format="Date" />I have also the following cross table transformation: <cfx:Chart.DataTransforms> <cfxData:CrosstabTransform RowPath="AxisXColumn" ColumnPath="SeriesColumn" ValuePath="AxisYColumn" /> </cfx:Chart.DataTransforms>ReportData is a List<ChartableReportRow> where ChartableReportRow is a class with the followinf fields: public object AxisXColumn (this return actually DateTime but I need "object" because it is a configurable view model and in some case it return strings)public decimal AxisYColumnpublic object SeriesColumnMy problem is that the format of dates does not take place (they have always time component, my guess is that the chart is actually using them as strings instead ?) If I change public object AxisXColumn into public DateTime AxisXColumn the format take place correctly.Fo you have any suggestion?
  18. Dear Forum, I have a chart with the following binding: <cfx:Chart ... ... ItemsSource="{Binding Path=ReportData, Mode=OneWay}" ... ..."> and the X axis with the format: < cfx:AxisLabelAttributes Format="Date" />I have also the following cross table transformation: <cfx:Chart.DataTransforms> <cfxData:CrosstabTransform RowPath="AxisXColumn" ColumnPath="SeriesColumn" ValuePath="AxisYColumn" /> </cfx:Chart.DataTransforms>ReportData is a List<ChartableReportRow> where ChartableReportRow is a class with the followinf fields: public object AxisXColumn (this return actually DateTime but I need "object" because it is a configurable view model and in some case it return strings)public decimal AxisYColumnpublic object SeriesColumnMy problem is that the format of dates does not take place (they have always time component, my guess is that the chart is actually using them as strings instead ?) If I change public object AxisXColumn into public DateTime AxisXColumn the format take place correctly.Fo you have any suggestion?
  19. Thanks JuanC, I will try to install the lastest hotfix and see what happens. I will be back to you if I still have problems. Thanks again.
  20. Thanks JuanC, All of this make sense, thanks. I also have found your article on how to save legend space very interesting. Thanks again. Simone
  21. Thanks again JuanC, I am using version 8.0.3581.26941 I havent tried to use a converter. Originally I was bing directly to the property (Returning Visibility type) in the view model both legend visivility and text box visibility. The thext box visibility was fine but not the legend box. For the point label attribute might it be because if I over with the mouse I see it uses PointLabelAttributes.Visibility and not a UIElement.Visibilty type (like the legend box does?) Do I need a converter even if I use a Visibility type? I dont care to use a boolean as I bind to a property of the view model. Simone
  22. Thanks JuanC. TargetPanel is sot supported at all or I can use other values? I am binding the chart tupe to my view model, is there any way I can bond TargetPanel to something so that I dont waste space in Column and Curve? Thanks, Simone
  23. I have a pie chart, for some reason the legend appear more or less in the top-center instad of top-right. If I change the graph to be column or cureve the legend is correctly in the top-right, but not for pie. This is my code: < cfx:LegendBox cfx:Chart.TargetPanel="Inside" DockPanel.Dock="Top" HorizontalAlignment="Right" VerticalAlignment="Top" Visibility="{Binding Path=Text, ElementName=LegendBoxVisibilityDummyTextBox, Mode=OneWay}">
×
×
  • Create New...