Как я могу использовать IValueConverter для преобразования шрифта в жирный

Привет я пытаюсь преобразовать стиль шрифта строки в DataGrid в зависимости от типа, выбранного в выпадающем списке. Я не получаю и возвращает следующую ошибку:

"Ошибка 18 'System.Windows.Documents.Bold' не содержит конструктор que принимает 1 аргумент

Это мой класс:

using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Data;
using System.IO;
using System.Windows.Media.Imaging;

namespace enLoja.enLoja_Web.Helpers
{
    public class GrupoBoldConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            var weight = new Bold(FontWeights.Normal);
            switch (int.Parse(value.ToString()))
            {
                case 2:
                    weight = new Bold(FontWeights.Bold);
                    break;
                default:
                    weight = new Bold(FontWeights.Normal);
                    break;
            }
            return weight;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}

А вот как я украшаю свою сетку данных:

<sdk:Page.Resources>
    <Helpers:GrupoBoldConverter x:Key="BoldConverter" />
</sdk:Page.Resources>

...

<sdk:DataGrid.RowStyle>
    <Style TargetType="sdk:DataGridRow">
        <Setter Property="FontWeight" Value="{Binding SINTETICO, Converter={StaticResource BoldConverter}}" />
    </Style>
</sdk:DataGrid.RowStyle>

Я знаю, что синтаксическая ошибка есть. Моя проблема в том, что я не могу использовать правильный вариант. Я благодарю всех, кто может помочь.

1 ответ

Решение

FontWeight свойство ожидает FontWeight, а не Bold, Верните только FontWeight из вашего конвертера.

Другие вопросы по тегам