Browse Source

Merge pull request #697 from VitalElement/issue696-fontweight-converter

FontWeight TypeConverter to Resolve Issue 696
pull/703/head
Nikita Tsukanov 10 years ago
committed by GitHub
parent
commit
c1cdbd17bf
  1. 1
      src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
  2. 1
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs
  3. 39
      src/Markup/Avalonia.Markup.Xaml/Converters/FontWeightConverter.cs

1
src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj

@ -60,6 +60,7 @@
<Compile Include="Converters\ColumnDefinitionsTypeConverter.cs" />
<Compile Include="Converters\CursorTypeConverter.cs" />
<Compile Include="Converters\DateTimeTypeConverter.cs" />
<Compile Include="Converters\FontWeightConverter.cs" />
<Compile Include="Converters\GeometryTypeConverter.cs" />
<Compile Include="Converters\GridLengthTypeConverter.cs" />
<Compile Include="Converters\IconTypeConverter.cs" />

1
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs

@ -174,6 +174,7 @@ namespace Avalonia.Markup.Xaml.Context
RegisterTypeConverter(typeof(Uri), new UriTypeConverter());
RegisterTypeConverter(typeof(Cursor), new CursorTypeConverter());
RegisterTypeConverter(typeof(WindowIcon), new IconTypeConverter());
RegisterTypeConverter(typeof(FontWeight), new FontWeightConverter());
}
}
}

39
src/Markup/Avalonia.Markup.Xaml/Converters/FontWeightConverter.cs

@ -0,0 +1,39 @@
namespace Avalonia.Markup.Xaml.Converters
{
using Avalonia.Media;
using OmniXaml.TypeConversion;
using System;
using System.Globalization;
public class FontWeightConverter : ITypeConverter
{
public bool CanConvertFrom(IValueContext context, Type sourceType)
{
return sourceType == typeof(string);
}
public bool CanConvertTo(IValueContext context, Type destinationType)
{
return false;
}
public object ConvertFrom(IValueContext context, CultureInfo culture, object value)
{
FontWeight result;
if (Enum.TryParse(value as string, out result))
{
return result;
}
else
{
throw new ArgumentException("unable to convert parameter to FontWeight");
}
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
}
Loading…
Cancel
Save