STEP 1
We have to install charting toolkit for our project
Install WPF Toolkit from this site:
Add new WPF application in Visual Studio.
If you are not able to view chart controls in Toolbox, right click Toolbox and select Choose Items. Then click on WPF components and select chart controls (the ones mentioned in the title). This will add the controls to your toolbox and you should be able to drag and drop them on the XAML form.
STEP 2
 XAML Coding for Charting tool
  XAML (Extensible Application Markup Language) is a markup language for declarative application programming. If you are interested in knowing more about XAML, please refer to the MSDN documentation athttp://msdn.microsoft.com/en-us/library/ms747122.aspx.
<Grid Height="921">
<chartingToolkit:Chart Height="442" HorizontalAlignment="Left" 
                 Margin="39,0,0,130" Name="columnChart" Title=""  
                 VerticalAlignment="Bottom" Width="620">
                <chartingToolkit:ColumnSeries DependentValuePath="Value" 
                 IndependentValuePath="Key" ItemsSource="{Binding}" />              
            </chartingToolkit:Chart>
</ Grid>
(in here I am showing Bar Chart as this you can try any type of chart.)
I’m using three attributes.
I’m using three attributes.
DependentValuePath and IndependentValuePath are related to the Axis of the Chart (i.e. X-axis, Y-axis). “Value” and “Key” as assigned to them respectively - this is because I’m using KeyValuePair<> data type in my data model (which has Key and Value)STEP 3
Assign data to the model 
   in the MainWindow.xaml.cs file, it is pretty straightforward with the way we are assigning data model.
   /// <summary>
       
/// Load data to the graph Sample Code
       
/// </summary>
        public
void Show_Inventory_Chart(string itemCategory)
        {
//Initializing the new key value pair
            List<KeyValuePair<string,
double>>
InventoryValue =
new List<KeyValuePair<string,
double>>();
           
double itemQuantity
= 0;
            try
            {
// In here I assign all values in db to a list (Code
base model)
               
var itemList =
itemService.GetChartItemList(companyId, itemCategory).GroupBy(s =>
s.ItemId).Select(s =>s.First()).ToList();
               
foreach (var item in itemList)
               
{
                  
 itemQuantity = FillChartStockQuantity(item,
itemCategory);
                   
string itemName
= "";
                   
string itemId
= "";
                   
FormatChartItemNames(item, out itemName,
out itemId);
// Inserting a value for chart
                 
  InventoryValue.Add(new KeyValuePair<string,
double>((itemId + Environment.NewLine + itemName), itemQuantity));
                    itemQuantity = 0;
               
}
            }
           
catch (NullReferenceException)
            {
                MessageBox.Show("No Item in
Database, Please add item in Administration Section", "No Items", MessageBoxButton.OK,
MessageBoxImage.Warning);
            }
           
columnChart.Title = itemCategory + " Inventory Summary";
           
columnChart.DataContext = InventoryValue;
        }
STEP 4
Compile and Run
Here you can see the final out put 
Tips And Trics : http://wpf.codeplex.com/wikipage?title=Tips%20%26%20Tricks
Documentation : http://wpf.codeplex.com/wikipage?title=Links%20to%20Documentation

 
No comments:
Post a Comment