Ici j'essaie d'assigner la source de données (en utilisant le même code donné dans l'exemple d'application) et créer un graphique, seule différence est que je le fais dans WindowsFormsHost WPF. Pour une raison quelconque, la source de données n'est pas correctement affectée et je ne suis pas en mesure de voir la série ("Série 1") en cours de création. chose câblée est qu'il fonctionne dans l'application Windows Forms mais pas dans le WPF.MS Chart dans WPF, Réglage de la source de données ne crée pas la série
ai-je oublié quelque chose et quelqu'un peut-il m'aider?
Merci
<Window x:Class="SEDC.MDM.WinUI.WindowsFormsHostWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:CHR="clr- namespace:System.Windows.Forms.DataVisualization.Charting;assembly=System.Windows.Forms.Dat aVisualization"
Title="HostingWfInWpf" Height="230" Width="338">
<Grid x:Name="grid1">
</Grid>
</Window>
private void drawChartDataBinding()
{
System.Windows.Forms.Integration.WindowsFormsHost host =
new System.Windows.Forms.Integration.WindowsFormsHost();
string fileNameString = @"C:\Users\Shaik\MSChart\WinSamples\WinSamples\data\chartdata.mdb";
// initialize a connection string
string myConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileNameString;
// define the database query
string mySelectQuery = "SELECT * FROM REPS;";
// create a database connection object using the connection string
OleDbConnection myConnection = new OleDbConnection(myConnectionString);
// create a database command on the connection using query
OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection);
Chart Chart1 = new Chart();
// set chart data source
Chart1.DataSource = myCommand;
// set series members names for the X and Y values
Chart1.Series"Series 1".XValueMember = "Name";
Chart1.Series"Series 1".YValueMembers = "Sales";
// data bind to the selected data source
Chart1.DataBind();
myCommand.Dispose();
myConnection.Close();
host.Child = Chart1;
this.grid1.Children.Add(host);
}
Shaik
Je ne l'ai pas utilisé MS Chart depuis des années, alors je espère un expert MS Chart va venir à votre aide. Avez-vous essayé le DataVisualizationToolkit dans le WPFToolkit gratuit sur CodePlex? Il est à certains égards beaucoup plus avancé que MS Chart, et il s'intègre certainement mieux avec WPF. –
Merci pour votre réponse, je l'ai essayé, mais la performance n'est pas très bonne et il se bloque aléatoirement, de plus il n'est pas prouvé. La raison pour laquelle je voulais essayer MSChart est que MS l'a acheté à Duddas. Toutes les façons amCharts semble prometteur et il est bon aussi – Shaik