로봇 팔과 퍼지 로직을 실험하고 있습니다. 내 목표는 회원 함수 (간단한 삼각형 및 사다리꼴 함수) 사용자가 만든 것입니다. 옥시 플롯 '객체'는 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}"/>
을 문제는 때 온다 플롯을 새 타이틀만큼 간단하게 업데이트하려고합니다. 개체가 MainWindow 생성자에있을 때만 OxyPlot을 업데이트 할 수 있다고 알려줍니다. 원래 줄거리를 만든 후 예를 들어 다음 코드를 호출 (MainWindow를의 외부() {}) :
this.plotModel = CreatePlot("Mag2");
plot1.RefreshPlot(true);
이 작동하지 않습니다. 원본 그림은 "Mag1"이라는 제목으로 남아 있습니다. 나는 컨텍스트와 관련된, 특히 DataContext와 관련된 것을 놓친다는 느낌이 들지만, 나는 언어에 매우 만족하지 않아 붙어있다! 그 말로는 Oxyplot에서 완전히 팔리지는 않았습니다. 더 나은 접근법이 있다면 나는 그것을 시도해 볼 의사가있다. 읽어 주셔서 감사합니다.