Как изменить цвета файла SVG в WPF?C#

Место общения программистов C#
Anonymous
Как изменить цвета файла SVG в WPF?

Сообщение Anonymous »

Я пытаюсь создать интерактивную карту коллегии выборщиков в качестве одной из моих первых программ в WPF. До сих пор я экспериментировал с использованием SharpVectors для импорта изображений SVG в XAML. Хотя это работает, я хочу знать, можно ли изменить цвета векторов, нажав кнопку и изменив ее цвет на красно-синий или другой цвет в зависимости от него. Является ли SharpVectors лучшим способом сделать это? Есть ли у кого-нибудь предложения?
Вот пример части моего XAML:


Я надеялся решить проблему с ChatGPT и заставить векторы состояний менять цвет, но мне предложили ввести это в мою консоль, но я не знал, что это значит, и она продолжала выдавать ошибки:
using SharpVectors.Converters;
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.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;
using SharpVectors;
using Svg;

namespace ElectoralCollegeWPF
{
///
/// Interaction logic for MainWindow.xaml
///
public partial class MainWindow : Window
{

public MainWindow()
{
InitializeComponent();

AL.Source = new Uri("/Image/States/AL.svg");
}

private void DemocratBtn_Click(object sender, RoutedEventArgs e)
{

}

private void ChangeSvgColor(Color newColor)
{
// Cast the Drawing object from the SvgViewbox
var drawingGroup = AL.Source as DrawingGroup;

if (drawingGroup != null)
{
// Traverse the DrawingGroup and update the color for GeometryDrawing
foreach (var child in drawingGroup.Children)
{
if (child is GeometryDrawing geometryDrawing)
{
// Change the color of the fill brush
if (geometryDrawing.Brush != null)
{
geometryDrawing.Brush = new SolidColorBrush(newColor);
}
}
}
}
}

}
}


Подробнее здесь: https://stackoverflow.com/questions/789 ... ile-in-wpf

Вернуться в «C#»