Visual Studio 2019 --- Windows Forms App (.NET Framework) C# ... Toolbox => Data => Charts 提供了創建 xy 圖的能力。
這在 WPF APP (.NET Framework) 中不存在。
我發現多個站點使用 .xaml 和 .cs 演示了各種形狀。但是沒有一個演示 xy 圖(不是預定義形狀)的組合,其中 .xaml 定義位置,而 .cs 提供資料。
如何使用 WPF APP (.NET Framework) 創建 xy 圖?
uj5u.com熱心網友回復:
使用此網站上的模板 - stackoverflow.com/questions/33756255/create-a-math-plot-in-c-sharp-xam
.xaml
<Canvas x:Name="gCanvasPlot0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="0,0,0,0"
Width="500"
Height="150" />
。CS
//------------------------------
private void AddPlot()
{
double dPI = Math.PI;
Polyline poXY = new Polyline {Stroke = Brushes.Red};
int iNumOfCycles = 3;
double dDeltaX = 0.01;
int iNumOfPoints0 = (int)(iNumOfCycles / dDeltaX);
for (int ii = 0; ii < iNumOfPoints0; ii ) {
double dX = ii * dDeltaX;
double dY = Math.Sin(2 * dPI * dX);
poXY.Points.Add(CorrespondingPoint(new Point(dX, dY), iNumOfCycles));
}
gCanvasPlot0.Children.Add(poXY);
}//AddPlot
//------------------------------
//------------------------------
private Point CorrespondingPoint(Point pt, int iNumOfCycles)
{
double dXmin = 0;
double dXmax = iNumOfCycles;
double dYmin = -1.1;
double dYmax = 1.1;
double dPlotWidth = dXmax - dXmin;
double dPlotHeight = dYmax - dYmin;
var poResult = new Point {
X = (pt.X - dXmin) * gCanvasPlot0.Width / (dPlotWidth),
Y = gCanvasPlot0.Height - (pt.Y - dYmin) * gCanvasPlot0.Height /
(dPlotHeight)
};
return poResult;
}//CorrespondingPoint
//------------------------------
這有效。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/321801.html
上一篇:一個程式集中的多個XAML資源檔案,在另一個程式集中參考
下一篇:棱鏡多視窗/疊加顯示
