Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# WPF OxyPlot error plot does not exist in namespace

Tags:

c#

wpf

oxyplot

Hi I have a problem configuring oxyplot in WPF. I have found a few solutions but nothing works. I have found out that this is the best http://blog.bartdemeyer.be/2013/03/creating-graphs-in-wpf-using-oxyplot/ but something still wrong and I get this error in XAML file:

the name plot does not exist in the namespace codeplex

MainWindow.xaml FILE:

<Window x:Class="OxyPlotDemo.MainWindow"
    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:local="clr-namespace:OxyPlotDemo"
     xmlns:oxy="http://oxyplot.codeplex.com"
    mc:Ignorable="d"
    Title="MainWindow" Height="350" Width="525">

<Grid>
    <oxy:Plot x:Name="Plot1" Title="A Graph" Model="{Binding PlotModel}" Margin="10" Grid.Row="1">
    </oxy:Plot>
</Grid>

MainWindow.xaml.cs

using System.Windows;
namespace OxyPlotDemo

{

public partial class MainWindow : Window
{

    private ViewModels.MainWindowModel viewModel;
    public MainWindow()
    {

        viewModel = new ViewModels.MainWindowModel();
        DataContext = viewModel;

        InitializeComponent();
    }
}
}

MainWindowModel.cs

using  System.ComponentModel;
using OxyPlot;


namespace OxyPlotDemo.ViewModels
{
    public class MainWindowModel : INotifyPropertyChanged
    {
        private PlotModel plotModel;
        public PlotModel PlotModel
        {
            get { return plotModel; }
            set { plotModel = value; OnPropertyChanged("PlotModel"); }
    }

    public MainWindowModel()
    {
        PlotModel = new PlotModel();
    }

    public event PropertyChangedEventHandler PropertyChanged;

    //[NotifyPropertyChangedInvocator]
    protected virtual void OnPropertyChanged(string propertyName)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
    }
}
}

Maybe someone has better solution. I just need to display a few charts, that contains a lot of data from sensors, not in real time.

like image 721
user1974549 Avatar asked Sep 13 '25 06:09

user1974549


1 Answers

I've had a same issue with OxyPlot lib from NuGet, when migrating from lib version 1.x to 2.1. SO i found, that in version 2.1 Plot class is moved to another library, see releases history at their github page. That worked for me:

  1. Download additional library OxyPlot.Contrib.Wpf to your project via NuGet.
  2. Add these declarations to XAML:
    • xmlns:oxy="http://oxyplot.org/wpf"

    • xmlns:oxycontrols="http://oxyplot.org/wpf/contrib"

    • <oxycontrols:Plot .../>

like image 143
Дмитрий Росинский Avatar answered Sep 14 '25 20:09

Дмитрий Росинский