轴实际最大值和最大值在缩放或填充后不匹配 (OxyPlot)

Axis ActualMaximum and Maximum don't match after zooming or padding (OxyPlot)

我做了一个示例项目来尝试修复这个错误,但没有成功。我制作了一个简单的 WPF 应用程序,其中包含一个 Plot 和一个 Button。单击该按钮时,它会将 X 轴的最小值设置为 100,将最大值设置为 500。 当我打开应用程序时它可以工作,但是一旦我 pan/zoom 图表它就停止工作了。

When debugging, you can see that the Maximum changes, but the ActualMaximum value stays the same. Minimum 和 ActualMinimum 也是如此。 这是我的 PlotModel 代码和我的 MainWindow 代码。如果格式不好,我深表歉意,我会尽快修复。

public class OxyPlotModel : INotifyPropertyChanged
    {

        private OxyPlot.PlotModel plotModel;
        public OxyPlot.PlotModel PlotModel
        {
            get
            {
                return plotModel;
            }
            set
            {
                plotModel = value;
                OnPropertyChanged("PlotModel");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        protected void OnPropertyChanged(string name)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(name));
            }
        }
    }

public MainWindow()
        {
            InitializeComponent();

            oxyPlotModel = new OxyPlotModel();
            oxyPlotModel.PlotModel = plotModel;
            plotView1.DataContext = oxyPlotModel;

            plotModel.Axes.Clear();

            var yAxis = new OxyPlot.Axes.LinearAxis();
            var xAxis = new OxyPlot.Axes.LinearAxis();
            xAxis.Position = OxyPlot.Axes.AxisPosition.Bottom;

            plotModel.Axes.Add(yAxis);
            plotModel.Axes.Add(xAxis);

            plotModel.Axes[1].Minimum = 0;
            plotModel.Axes[1].Maximum = 700;
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            plotModel.Axes[1].Minimum = 100;
            plotModel.Axes[1].Maximum = 500;
            Debug.Print(plotModel.Axes[1].MaximumPadding.ToString());
            plotModel.InvalidatePlot(true);
        }

我使用 Axis.Zoom 而不是最大值和最小值来修复它。