我正在試驗機器人手臂和模糊邏輯。我的目標是繪製由用戶創建的隸屬函數(簡單的三角形和梯形函數)。氧氣圖「對象」位於位於MainWindow上的擴展器上。繪圖選擇很可能來自下拉或文本框。按需更新Oxyplot C#WPF
不幸的是,我無法弄清楚如何用新的信息更新一個陰謀。所有的例子似乎都是基於時間的動態的。但我需要它根據用戶需求!我能找到的最接近的例子是Refresh和Task演示文件,我認爲。
到現在爲止我已經能夠生產出標題的原始的,空白的情節和軸使用的語法如下:
public partial class MainWindow : Window
{
private PlotModel plotModel;
public PlotModel PlotModel
{
get
{
return this.plotModel;
}
set
{
this.plotModel = value;
}
}
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
this.PlotModel = CreatePlot("mag1");
}
private PlotModel CreatePlot(string title)
{
var pm = new PlotModel(title);
return pm;
}
而XAML
<Window x:Class="FuzzyGripper.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:oxy="clr-namespace:OxyPlot.Wpf;assembly=OxyPlot.Wpf"
Title="MainWindow" Height="800" Width="1000" Closing="Window_Closing" Loaded="Window_Loaded">
...... A ton of stuff ...... then......
<oxy:Plot x:Name="plot1" Model="{Binding PlotModel}"/>
問題是當我想用新標題那樣簡單的方式來更新劇情。從我可以告訴OxyPlot只能在對象位於MainWindow構造函數中時更新。例如創建原作情節後,下面的代碼片段被稱爲(外主窗口的(){}):
this.plotModel = CreatePlot("Mag2");
plot1.RefreshPlot(true);
它不工作。原始的情節依然存在,標題爲「Mag1」。我有一種感覺,我錯過了與上下文相關的東西,特別是 - DataContext - 但我對這種語言並不是很滿意,所以我被卡住了!據說,我並不完全在Oxyplot上銷售。如果有更好的方法,我願意試一試。謝謝閱讀。