文字列にバインドする場合は、IValueConverter を定義して、組み込みの HighlightingDefinitionTypeConverter をラップできます。
using System;
using System.Globalization;
using System.Windows.Data;
using ICSharpCode.AvalonEdit.Highlighting;
public class HighlightingDefinitionConverter : IValueConverter
{
private static readonly HighlightingDefinitionTypeConverter Converter = new HighlightingDefinitionTypeConverter();
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return Converter.ConvertFrom(value);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return Converter.ConvertToString(value);
}
}
次に、コンバーターをバインディングに追加します。
<avalonEdit:TextEditor Name="textEditor" SyntaxHighlighting="{Binding syntaxHighlighting, Converter={StaticResource HighlightingDefinitionConverter}}" />