0

您好我正在尝试根据组合框选择的类型转换 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>

我知道语法错误是。我的问题是我无法使用正确的选项。我感谢任何可以提供帮助的人。

4

1 回答 1

1

FontWeight属性需要FontWeight而不是Bold. 只FontWeight从您的转换器返回。

于 2013-05-01T13:41:48.227 回答