Здесь я пытаюсь назначить источник данных (используя тот же код, указанный в примере приложения), и создать график, только разница заключается в том, что я делаю это в WPF WindowsFormsHost. по какой-то причине источник данных не назначается должным образом, и я не могу видеть, что серия («Серия 1») создается. что он работает в приложении Windows Forms, но не в WPF.MS Chart в WPF, установка DataSource не создает серию
Я что-то пропустил и может кто-нибудь мне помочь?
Благодаря
<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);
}
Шаик
Я не использовал MS Chart в годы, так что надеюсь, эксперт Chart MS придет к вам на помощь. Вы пробовали DataVisualizationToolkit в бесплатном WPFToolkit на CodePlex? Это в некотором смысле гораздо более продвинутое, чем MS Chart, и, конечно же, оно лучше подходит для WPF. –
Спасибо за ваш ответ, я попробовал, но производительность не так хороша, и она блокируется случайным образом, более того, она не доказана. Причина, по которой я хотел попробовать MSChart, - это то, что MS купила его у Duddas. Любые способы amCharts выглядят многообещающими, и это тоже слишком дешево – Shaik