Ich arbeite derzeit an einem einfachen C# WPF-Programm, das ein Säulendiagramm anzeigen muss. Die grundlegenden Säulendiagramme des Namespaces System.Windows.Controls.DataVisualization.Charting werden jedoch mit einer Füllfarbe für die Farbverlaufsspalte geliefert, und das möchte ich nicht im Programm.WPF-Diagramme entfernen Farbverlaufsfüllung
Gibt es eine Möglichkeit, entweder in XAML oder in C# -Code den Füllpinsel der Spalten auf einen SolidBrush zu setzen? Die ColumnSeries werden programmgesteuert hinzugefügt, während das Programm ausgeführt wird, so dass ich keinen Zugriff auf sie in der XAML habe. Ich bin immer noch ziemlich neu in WPF und XAML, damit ich weiß nicht wirklich, wo eine Antwort
Hier ist mein Code ‚bis jetzt auf der Suche zu beginnen, ist es allerdings ziemlich einfach ist, gibt es nicht wirklich viel zu sehen:
WPF Column Chart Styling: Remove the gradient effect, set the color of the hash marks on y axis (the minor grid lines) hier:MainWindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.DataVisualization.Charting;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
ColumnSeries lC = new ColumnSeries();
List<KeyValuePair<string, int>> valueList1 = new List<KeyValuePair<string, int>>();
valueList1.Add(new KeyValuePair<string, int>("Developer", 60));
valueList1.Add(new KeyValuePair<string, int>("Misc", 20));
valueList1.Add(new KeyValuePair<string, int>("Tester", 50));
valueList1.Add(new KeyValuePair<string, int>("QA", 30));
valueList1.Add(new KeyValuePair<string, int>("Project Manager", 40));
lC.DependentValuePath = "Value";
lC.IndependentValuePath = "Key";
lC.ItemsSource = valueList1;
chart.Series.Add(lC);
}
}
}
MainWindow.xaml
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
Title="MainWindow" Height="350" Width="525">
<Grid x:Name="grid">
<chartingToolkit:Chart x:Name="chart">
</chartingToolkit:Chart>
</Grid>
</Window>
ich diesen Beitrag habe festgestellt. Das erste Problem des Posters ist ziemlich genau das gleiche wie meines. Die ersten Antworten sagen ihm, die Rahmengröße zu erhöhen, um die Spalte zu füllen, aber in meinem Programm brauche ich noch die Spaltenränder, so dass ich nicht wirklich das will und das ist die einzige Antwort, so dass es aussieht, als wäre das ein ziemlich schwieriges Problem. Ich würde deine Hilfe sehr schätzen. Vielen Dank!
Danke für den Link, war genau das, was ich brauchte. Ich suche seit Jahren nach einem guten Beispiel für Chart-Styling, habe aber nicht viel gefunden ... – zockDoc