Я пытаюсь построить несколько рядов строк, используя текстовое поле в приложении wpf, вот код и снимок экрана вывода
Код Xaml
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:DV="clr-namespace:System.Windows.Controls.DataVisualization;assembly=System.Windows.Controls.DataVisualization.Toolkit"
xmlns:DVC="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
xmlns:local="clr-namespace:EECc_Graph"
xmlns:Compatible="clr-namespace:System.Windows.Controls.DataVisualization.Charting.Compatible;assembly=System.Windows.Controls.DataVisualization.Toolkit" x:Class="EECc_Graph.MainWindow"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid x:Name="city2">
<TextBox x:Name="t1" HorizontalAlignment="Left" Height="23" Margin="164,87,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<TextBox x:Name="t2" HorizontalAlignment="Left" Height="23" Margin="164,178,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<Label Content="city" HorizontalAlignment="Left" Margin="47,87,0,0" VerticalAlignment="Top" Width="66"/>
<Label Content="temperature" HorizontalAlignment="Left" Margin="47,178,0,0" VerticalAlignment="Top" Width="94"/>
<Button Content="Button" HorizontalAlignment="Left" Margin="115,311,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
<Label Content="city2" HorizontalAlignment="Left" Margin="65,234,0,0" VerticalAlignment="Top"/>
<TextBox x:Name="t3" HorizontalAlignment="Left" Height="23" Margin="164,234,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<Label Content="temperature" HorizontalAlignment="Left" Margin="65,265,0,0" VerticalAlignment="Top"/>
<TextBox x:Name="t4" HorizontalAlignment="Left" Height="23" Margin="190,265,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<DVC:Chart Canvas.Top="80" Canvas.Left="10" Name="mchart" Width="400" Height="250" Loaded ="McChart_Loaded" Margin="339,107,53,62">
<DVC:Chart.Series>
<DVC:LineSeries Title=" weather" IndependentValuePath="Key" DependentValuePath="Value" ItemsSource="{Binding UpdateSourceTrigger=PropertyChanged}" IsSelectionEnabled="True">
</DVC:LineSeries>
<DVC:LineSeries Title=" weathers" IndependentValuePath="Key" DependentValuePath="Value" ItemsSource="{Binding UpdateSourceTrigger=PropertyChanged}" IsSelectionEnabled="True">
</DVC:LineSeries>
</DVC:Chart.Series>
</DVC:Chart>
</Grid>
</Window>
c # код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Controls.DataVisualization;
using System.Windows.Controls.Primitives;
using System.Windows.Controls.DataVisualization.Charting;
using System.Collections.ObjectModel;
namespace EECc_Graph
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public ObservableCollection<KeyValuePair<string, int>> ChartValues = new ObservableCollection<KeyValuePair<string, int>>();
public ObservableCollection<KeyValuePair<string, int>> ChartValues1 = new ObservableCollection<KeyValuePair<string, int>>();
public MainWindow()
{
InitializeComponent();
this.mchart.DataContext = ChartValues;
this.mchart.DataContext = ChartValues1;
private void McChart_Loaded(object sender, RoutedEventArgs e)
{
}
private void Button_Click(object sender, RoutedEventArgs e)
{
string inputX = this.t1.Text.ToString();
int inputY = Convert.ToInt32(this.t2.Text.ToString());
ChartValues.Add(new KeyValuePair<string, int>(inputX, inputY));
string inputX1 = this.t3.Text.ToString();
int inputY1 = Convert.ToInt32(this.t4.Text.ToString());
ChartValues1.Add(new KeyValuePair<string, int>(inputX1, inputY1));
}
}
}
Могу ли я знать, что я не могу нарисовать несколько рядов строк, текст коллекции 2 перезаписан коллекцией 1. Есть ли ошибка в связывании ....
это мой вывод экрана, может кто-нибудь, пожалуйста, помогите