Jump to content
Software FX Community

JuanC

Staff
  • Posts

    863
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by JuanC

  1. We have fixed this issue and we are in the process of testing the fix, It should be available in our next hotfix build 3511 or later. Thank you for providing an application that exhibits the issue. JuanC
  2. We have fixed this issue and we are in the process of testing the fix. It should be available in our next hotfix build 3511 or later. You can also workaround the issue by turning off Animation.OnDataChange. JuanC
  3. We have been unable to duplicate this issue. We did find an issue where labels may not be properly hidden when resizing the scroll bar thumb i.e. changing the range of visible elements. The problem might be related to a combination of size and the number of visible elements, if you can post/send an application that exhibits this behavior we would appreciate it. JuanC
  4. There are many cases when the data to be plotted must be analyzed considering multiple variables, for example you might want to track sales of multiple products in multiple regions and encompassing multiple years. Let
  5. Did the private bits work for you when using XamlWriter? Part of the criteria to include this in our main build is whether it actually provides the functionality you and other customers might need in regards to serialization. JuanC
  6. Are you using the bits we sent you through email? Please note that we are trying to get our XamlWriter support in a different branch so the public hotfix will not include these changes. Regards, JuanC
  7. You would use commas to separate the values. Note that there other flags set as default in the AxisStyle property so if you want to show your axis with 2 levels it would be <cfx:Axis AxisStyle="Show2Levels,BreakZero,AutoMargin,LongTick,AutoScale,ForceZero,RoundStep,AutoMinorStep,AutoFirstLabel,AutoCenter,AllowHalf" /> This property in some sense legacy from previous versions and we have added several boolean properties to cover the common cases. Can you clarify which of the flags you wanted to turn on/off? JuanC
  8. The method is there and it is public, we just made it non-browsable so that it does not appear on Intellisense. JuanC
  9. To enable scroll bars you have 2 options 1) If you know you will have a lot of points and you want to see 10 at a time you would use chart1.AxisX.SetScrollView(1, 10); 2) Alternatively, you can specify the minimum number of pixels a bar will occupy (note that this actually means the bar + some of its surrounding space which is controlled by Series.Volume) chart1.AxisX.PixelsPerUnit = 20; Regards, JuanC
  10. To change the entire background of the chart chart1.Background = Brushes.Yellow; To change the plotted area background chart1.PlotArea.Background = Brushes.Red; Note that the defaul style (glass) has some effects drawn on top of the background, you can switch to the Simple or Basic style if you want complete control. chart1.Style = ChartFX.WPF.Motifs.Simple.Style; JuanC
  11. This one is a little hard to describe but I am sure you have seen it before in magazines or newspapers. Although our API allows you to set brushes in code we will try to do all it XAML as it will allow more tweaking later. Here is our first attempt at showing an image on each bar [color= blue]<[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]Chart [/color][color= red]Gallery[/color][color= blue]="Bar"[/color][color= blue]> <[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]Chart.Series[/color][color= blue]> <[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]SeriesAttributes[/color][color= blue]/> </[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]Chart.Series[/color][color= blue]> <[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]Chart.AllSeries[/color][color= blue]> <[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]AllSeriesAttributes[/color][color= blue]> <[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]AllSeriesAttributes.Template[/color][color= blue]> <[/color][color= #a31515]DataTemplate[/color][color= blue]> <[/color][color= #a31515]Canvas[/color][color= blue]> <[/color][color= #a31515]Rectangle [/color][color= red]Width[/color][color= blue]="{[/color][color= #a31515]Binding [/color][color= red]Path[/color][color= blue]=Width}" [/color][color= red]Height[/color][color= blue]="{[/color][color= #a31515]Binding [/color][color= red]Path[/color][color= blue]=Height}"> <[/color][color= #a31515]Rectangle.Fill[/color][color= blue]> <[/color][color= #a31515]ImageBrush [/color][color= red]ImageSource[/color][color= blue]="C:\Temp\WorldMap.png"/[/color][color= blue]> </[/color][color= #a31515]Rectangle.Fill[/color][color= blue]> </[/color][color= #a31515]Rectangle[/color][color= blue]> </[/color][color= #a31515]Canvas[/color][color= blue]> </[/color][color= #a31515]DataTemplate[/color][color= blue]> </[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]AllSeriesAttributes.Template[/color][color= blue]> </[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]AllSeriesAttributes[/color][color= blue]> </[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]Chart.AllSeries[/color][color= blue]></[/color][color= #a31515]cfx[/color][color= blue]:[/color][color= #a31515]Chart[/color][color= blue]>[/color] Nothing earth shattering, we are binding width and height of the rectangle to the Width and Height of the logical items we will create, note that we do not need to worry about Left and Top, this is handled internally. We are creating a Canvas because we plan to add more visual elements later. And this is what we get. Obviously this is not what we are looking for, actually there is no feature that I am aware of in WPF that allows you to draw a rectangle and specify the
  12. When Marker.Visibility is not visible we do not even render the markers so instead of hidding the markers you could do this chart1.Highlight.Mode = ChartFX.WPF.HighlightMode.SeriesPoint; chart1.AllSeries.Marker.Opacity = 0; chart1.Highlight.PointAttributes.Marker.Opacity = 1; chart1.AllSeries.Marker.Size = 12; Note that we are setting the marker opacity instead of visibility which means the visuals for the markers will be generated. Also note that you have to set the marker size because we have code that will auto-calculate the marker size and if you have thousands of points it will decide not to show the markers. JuanC
  13. This is what it should look like when you hover over a line chart with multiple series and Highlight.Mode set to SeriesPoint JuanC
  14. We did found a leak and it only occurred when you exported a chart that was never rendered "normally" on the screen. You will need to download any build marked 3476 or later, additionally you will also have to manually invoke a Chart method call UnloadVisuals. I apologize for the delay, I thought I had posted a comment to this thread. JuanC
  15. >> but as you would be aware, the tooltip does not accept focus, and is not clickable We do have an internal implementation of ToolTip that allows interaction but we do not expose a public property to switch to it, for example we have a DataTrasform called OtherTransform useful for pie charts that will "group" all small elements into a "Other" bucket, the tooltip for this fake element will show a listbox with all the elements that were grouped so we needed interaction to scroll the listbox contents. We also use this implementation in XBAP because of trust limitations related to Popup. If this would be useful in this or other situations we can make a public property to switch to this implementation. If you just need a visual cue and you are already handling the click events (and not a full blown button), this might help chart1.Highlight.Mode = ChartFX.WPF.HighlightMode.SeriesPoint; JuanC
  16. Can you post a screenshot of what you are trying to accomplish? Will you have multiple series? Do you expect to have a lot of points (hundreds, thousands) in your chart? If so, there might be better alternatives using tooltips. JuanC
  17. Yes, in a categorical axis you would pass a double that acts an an index, note that 1.5 would be half way between M1 and M2 JuanC
  18. We build a small sample but forgot to add it to this thread. Hope it helps Note that this is important that the 2 private members (m_hasXData and m_differentCountPerSeries) are set according to your data, for example in the OnXValues handler we plot XY data (similar to what you are probably doing using dates) and each series have a different number of points so wet set both variables to true. JuanC Code and XAML attached.
  19. You can find annotation samples here and here JuanC
  20. It can be done but it would require some work as you would have to modify the glass template to remove the appropriate gradients. An alternative would be something like this chart1.Template = ChartFX.WPF.Motifs.Simple.ChartTemplate; Regards, JuanC
  21. Unfortunately changing how the marker is represented in the legend requires a new template, your idea of honoring the Marker.Shape is very good but we cannot incorporate it because it would break scenarios where people changed the marker shape in a line chart and then switched to pie. Add this to your Window.Resources or in your app.xaml <DataTemplate x:Key="LegendItemRect"> <Grid x:Name="grid" Margin="{Binding Path=Margin}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" SharedSizeGroup="FirstRow" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Rectangle Fill="{Binding Path=Fill}" Stroke="{Binding Path=Stroke}" Width="12" Height="12" Margin="0,0,4,0" Grid.Column="0" /> <Border Background="Transparent" Grid.Column="1" VerticalAlignment="Center"> <ContentControl IsHitTestVisible="false" Content="{Binding Path=Content}" ContentTemplate="{Binding Path=ContentTemplate}" Foreground="{Binding Path=Foreground}" FontFamily="{Binding Path=FontFamily}" FontSize="{Binding Path=FontSize}" FontStyle="{Binding Path=FontStyle}" FontWeight="{Binding Path=FontWeight}"/> </Border> </Grid> <DataTemplate.Triggers> <DataTrigger Binding="{Binding Path=Dimmed}"> <DataTrigger.Value> <sys:Boolean>True</sys:Boolean> </DataTrigger.Value> <Setter Property="Opacity" Value="0.25" TargetName="grid" /> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> And this code to your constructor or loaded handler chart1.LegendBox.ItemAttributes[chart1.AxisX].Template = (DataTemplate) FindResource("LegendItemRect"); Regards, JuanC
  22. With the release of Expression Blend 3 RC the supported design time API is almost the same as in Visual Studio so we are happy to report that starting with Chart FX for WPF build 3482 our wizard will be available in Blend 3. Although you can open a project in Blend 2 and interact with a Chart FX chart in the property grid, most of the design time API exposed by Visual Studio is not supported in Blend 2 so it was impossible for us to expose this UI. Note that integration with the Blend Toolbox requires a couple of registry keys pointing to the folder where the Chart FX for WPF binaries are located, our installers will create this key from now on but you can also create them manually following the instructions here. There is one feature used in our wizard where Blend 3 still does not support the same functionality as Visual studio 2008 or 2010 and that is adding references to the project from the design time assembly, because of this there are some pages where we cannot expose certain options until you manually add the references. In Visual Studio we do expose them and automatically add the references as needed. The most important scenarios where this is notable are: In the Gallery Page, if you select Other in VS we will show additional galleries exposed in extension assemblies such as Rose and HighLow. In Blend you have to manually add references to ChartFX.WPF.Rose and ChartFX.WPF.HighLow before these options are available In the Motifs pages we expose Chart Styles, Borders and Palettes from additional assemblies, in the image below you will notice that Blend only exposes Styles from our core assembly. If you manually add references to ChartFX.WPF.Motifs and ChartFX.WPF.Motifs.HandDrawn you will have access to additional styles including Edge, Spotlight, Floating, Blinds and HandDrawn Please note that if you installed our product on the beta period and have not reinstalled the release bits, you might have the Design assemblies in the same folder as the core dlls, we have now moved to a scheme where Design dlls are placed in a Design subdirectory, if you plan to use our hotfix/servicepack installers from the browser we recommend you manually move all the design files to make sure they are properly updated. If you
  23. We have been unable to reproduce the problem in a sample app where we can add and remove buttons using an ObservableCollection, we tested adding points that do and do not meet the conditions as well as removing points and it seemed to work fine. Note that we executed these in the UI thread directly and not using Dispatcher.Invoke Can you try to isolate a test case in a separate app? You might be able reproduce it using dummy data. Regards, JuanC
  24. This bug has been fixed on build 3477 or later. Now setting ZoomMode.Off will zoom out even when set before the drag process. If you want to provide a button that "stays" in the zoom level you can set ZoomMode.Zoomed. You can download our most recent hotfix here. Regards, JuanC
×
×
  • Create New...