Browse Source

Dead code elimination

pull/1079/head
Nikita Tsukanov 9 years ago
parent
commit
9134723eef
  1. 6
      .gitmodules
  2. 590
      Avalonia.sln
  3. 2
      src/Avalonia.DesignerSupport/DesignerAssist.cs
  4. 206
      src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
  5. 7
      src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs
  6. 227
      src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderOmniXaml.cs
  7. 35
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaAttachableXamlMember.cs
  8. 58
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaContentPropertyProvider.cs
  9. 33
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaLifeCycleListener.cs
  10. 27
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaMemberValuePlugin.cs
  11. 183
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaNamespaceRegistry.cs
  12. 81
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaObjectAssembler.cs
  13. 43
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaParserFactory.cs
  14. 93
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaRuntimeTypeSource.cs
  15. 183
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeFeatureProvider.cs
  16. 30
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeRepository.cs
  17. 126
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaWiringContext.cs
  18. 33
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaXamlMember.cs
  19. 63
      src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaXamlType.cs
  20. 32
      src/Markup/Avalonia.Markup.Xaml/Context/NameScopeWrapper.cs
  21. 176
      src/Markup/Avalonia.Markup.Xaml/Context/PropertyAccessor.cs
  22. 46
      src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaListTypeConverter.cs
  23. 91
      src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs
  24. 49
      src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs
  25. 30
      src/Markup/Avalonia.Markup.Xaml/Converters/BrushTypeConverter.cs
  26. 36
      src/Markup/Avalonia.Markup.Xaml/Converters/ClassesTypeConverter.cs
  27. 36
      src/Markup/Avalonia.Markup.Xaml/Converters/ColorTypeConverter.cs
  28. 31
      src/Markup/Avalonia.Markup.Xaml/Converters/ColumnDefinitionsTypeConverter.cs
  29. 33
      src/Markup/Avalonia.Markup.Xaml/Converters/CursorTypeConverter.cs
  30. 63
      src/Markup/Avalonia.Markup.Xaml/Converters/DateTimeTypeConverter.cs
  31. 44
      src/Markup/Avalonia.Markup.Xaml/Converters/FontWeightConverter.cs
  32. 31
      src/Markup/Avalonia.Markup.Xaml/Converters/GeometryTypeConverter.cs
  33. 31
      src/Markup/Avalonia.Markup.Xaml/Converters/GridLengthTypeConverter.cs
  34. 64
      src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs
  35. 31
      src/Markup/Avalonia.Markup.Xaml/Converters/KeyGestureConverter.cs
  36. 34
      src/Markup/Avalonia.Markup.Xaml/Converters/MemberSelectorTypeConverter.cs
  37. 31
      src/Markup/Avalonia.Markup.Xaml/Converters/PointTypeConverter.cs
  38. 38
      src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs
  39. 31
      src/Markup/Avalonia.Markup.Xaml/Converters/RelativePointTypeConverter.cs
  40. 31
      src/Markup/Avalonia.Markup.Xaml/Converters/RelativeRectTypeConverter.cs
  41. 31
      src/Markup/Avalonia.Markup.Xaml/Converters/RowDefinitionsTypeConverter.cs
  42. 32
      src/Markup/Avalonia.Markup.Xaml/Converters/SelectorTypeConverter.cs
  43. 31
      src/Markup/Avalonia.Markup.Xaml/Converters/SizeTypeConverter.cs
  44. 31
      src/Markup/Avalonia.Markup.Xaml/Converters/ThicknessTypeConverter.cs
  45. 40
      src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs
  46. 34
      src/Markup/Avalonia.Markup.Xaml/Converters/UriTypeConverter.cs
  47. 29
      src/Markup/Avalonia.Markup.Xaml/Data/SourceBindingEndpoint.cs
  48. 20
      src/Markup/Avalonia.Markup.Xaml/Data/TargetBindingEndpoint.cs
  49. 42
      src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/BindingExtension.cs
  50. 29
      src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/RelativeSourceExtension.cs
  51. 88
      src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/Standard/StaticExtension.cs
  52. 51
      src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/Standard/TypeExtension.cs
  53. 86
      src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticExtension.cs
  54. 5
      src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs
  55. 22
      src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleResourceExtension.cs
  56. 39
      src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/TemplateBindingExtension.cs
  57. 50
      src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/TypeExtension.cs
  58. 1
      src/Markup/Avalonia.Markup.Xaml/OmniXAML
  59. 73
      src/Markup/Avalonia.Markup.Xaml/OmniXamlCompileStubs.cs
  60. 13
      src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs
  61. 39
      src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs
  62. 17
      src/Markup/Avalonia.Markup.Xaml/Templates/TemplateLoader.cs
  63. 1
      src/Markup/Avalonia.Markup.Xaml/glass
  64. 7
      tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj
  65. 28
      tests/Avalonia.Markup.Xaml.UnitTests/Context/AvaloniaNamespaceRegistryTest.cs
  66. 33
      tests/Avalonia.Markup.Xaml.UnitTests/Converters/AvaloniaPropertyConverterTest.cs
  67. 5
      tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
  68. 5
      tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BindingTests.cs

6
.gitmodules

@ -5,12 +5,6 @@
path = src/Avalonia.HtmlRenderer/external
url = https://github.com/AvaloniaUI/HTML-Renderer.git
branch = perspex-pcl
[submodule "src/Markup/Avalonia.Markup.Xaml/OmniXAML"]
path = src/Markup/Avalonia.Markup.Xaml/OmniXAML
url = https://github.com/AvaloniaUI/OmniXAML.git
[submodule "src/Markup/Avalonia.Markup.Xaml/glass"]
path = src/Markup/Avalonia.Markup.Xaml/glass
url = https://github.com/SuperJMN/glass
[submodule "src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github"]
path = src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github
url = https://github.com/cwensley/Portable.Xaml.git

590
Avalonia.sln

@ -236,11 +236,6 @@ Global
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Debug|Mono = Debug|Mono
Debug|x86 = Debug|x86
DebugOmniXaml|Any CPU = DebugOmniXaml|Any CPU
DebugOmniXaml|iPhone = DebugOmniXaml|iPhone
DebugOmniXaml|iPhoneSimulator = DebugOmniXaml|iPhoneSimulator
DebugOmniXaml|Mono = DebugOmniXaml|Mono
DebugOmniXaml|x86 = DebugOmniXaml|x86
Release|Any CPU = Release|Any CPU
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
@ -276,16 +271,6 @@ Global
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Debug|Mono.Build.0 = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Debug|x86.ActiveCfg = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Debug|x86.Build.0 = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Release|Any CPU.Build.0 = Release|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -324,16 +309,6 @@ Global
{EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|Mono.Build.0 = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|x86.ActiveCfg = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|x86.Build.0 = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|Any CPU.Build.0 = Release|Any CPU
{EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -372,16 +347,6 @@ Global
{42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|Mono.Build.0 = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|x86.ActiveCfg = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|x86.Build.0 = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.Release|Any CPU.ActiveCfg = Release|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.Release|Any CPU.Build.0 = Release|Any CPU
{42472427-4774-4C81-8AFF-9F27B8E31721}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -419,16 +384,6 @@ Global
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.Debug|Mono.ActiveCfg = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.Debug|x86.ActiveCfg = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.Debug|x86.Build.0 = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.Release|Any CPU.ActiveCfg = Release|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.Release|Any CPU.Build.0 = Release|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -465,16 +420,6 @@ Global
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|Mono.ActiveCfg = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|x86.ActiveCfg = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|x86.Build.0 = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|Any CPU.Build.0 = Release|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -508,16 +453,6 @@ Global
{EC42600F-049B-43FF-AED1-8314D61B2749}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.Debug|Mono.ActiveCfg = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.Debug|x86.ActiveCfg = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.Release|Any CPU.Build.0 = Release|Any CPU
{EC42600F-049B-43FF-AED1-8314D61B2749}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -554,16 +489,6 @@ Global
{62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|Mono.Build.0 = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|x86.ActiveCfg = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|x86.Build.0 = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|Any CPU.Build.0 = Release|Any CPU
{62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -602,16 +527,6 @@ Global
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|Mono.Build.0 = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|x86.ActiveCfg = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|x86.Build.0 = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|Any CPU.Build.0 = Release|Any CPU
{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -650,16 +565,6 @@ Global
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Debug|Mono.Build.0 = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Debug|x86.ActiveCfg = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Debug|x86.Build.0 = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Release|Any CPU.Build.0 = Release|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -698,16 +603,6 @@ Global
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|Mono.Build.0 = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|x86.ActiveCfg = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|x86.Build.0 = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|Any CPU.Build.0 = Release|Any CPU
{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -746,16 +641,6 @@ Global
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Debug|Mono.Build.0 = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Debug|x86.ActiveCfg = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Debug|x86.Build.0 = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Release|Any CPU.Build.0 = Release|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -794,16 +679,6 @@ Global
{7062AE20-5DCC-4442-9645-8195BDECE63E}.Debug|Mono.Build.0 = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.Debug|x86.ActiveCfg = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.Debug|x86.Build.0 = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.Release|Any CPU.Build.0 = Release|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -842,16 +717,6 @@ Global
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|Mono.Build.0 = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|x86.ActiveCfg = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|x86.Build.0 = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|Any CPU.Build.0 = Release|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -890,16 +755,6 @@ Global
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.Debug|Mono.Build.0 = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.Debug|x86.ActiveCfg = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.Debug|x86.Build.0 = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.Release|Any CPU.Build.0 = Release|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -938,16 +793,6 @@ Global
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Debug|Mono.Build.0 = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Debug|x86.ActiveCfg = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Debug|x86.Build.0 = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Release|Any CPU.Build.0 = Release|Any CPU
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -986,16 +831,6 @@ Global
{76716382-3159-460E-BDA6-C5715CF606D7}.Debug|Mono.Build.0 = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.Debug|x86.ActiveCfg = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.Debug|x86.Build.0 = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.Release|Any CPU.Build.0 = Release|Any CPU
{76716382-3159-460E-BDA6-C5715CF606D7}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1034,16 +869,6 @@ Global
{2905FF23-53FB-45E6-AA49-6AF47A172056}.Debug|Mono.Build.0 = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.Debug|x86.ActiveCfg = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.Debug|x86.Build.0 = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.Release|Any CPU.Build.0 = Release|Any CPU
{2905FF23-53FB-45E6-AA49-6AF47A172056}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1082,16 +907,6 @@ Global
{DB070A10-BF39-4752-8456-86E9D5928478}.Debug|Mono.Build.0 = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.Debug|x86.ActiveCfg = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.Debug|x86.Build.0 = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.Release|Any CPU.Build.0 = Release|Any CPU
{DB070A10-BF39-4752-8456-86E9D5928478}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1130,16 +945,6 @@ Global
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.Debug|Mono.Build.0 = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.Debug|x86.ActiveCfg = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.Debug|x86.Build.0 = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.Release|Any CPU.Build.0 = Release|Any CPU
{08478EF5-44E8-42E9-92D6-15E00EC038D8}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1177,16 +982,6 @@ Global
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|Mono.ActiveCfg = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|x86.ActiveCfg = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|x86.Build.0 = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|Any CPU.Build.0 = Release|Any CPU
{DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1224,16 +1019,6 @@ Global
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Debug|Mono.Build.0 = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Debug|x86.ActiveCfg = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Debug|x86.Build.0 = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Release|Any CPU.Build.0 = Release|Any CPU
{AC18926A-E784-40FE-B09D-BB0FE2B599F0}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1271,16 +1056,6 @@ Global
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Debug|Mono.ActiveCfg = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Debug|x86.ActiveCfg = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Debug|x86.Build.0 = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Release|Any CPU.Build.0 = Release|Any CPU
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1318,16 +1093,6 @@ Global
{E106CF37-4066-4615-B684-172A6D30B058}.Debug|Mono.Build.0 = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.Debug|x86.ActiveCfg = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.Debug|x86.Build.0 = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.Release|Any CPU.Build.0 = Release|Any CPU
{E106CF37-4066-4615-B684-172A6D30B058}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1366,16 +1131,6 @@ Global
{99135EAB-653D-47E4-A378-C96E1278CA44}.Debug|Mono.Build.0 = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.Debug|x86.ActiveCfg = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.Debug|x86.Build.0 = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.Release|Any CPU.ActiveCfg = Release|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.Release|Any CPU.Build.0 = Release|Any CPU
{99135EAB-653D-47E4-A378-C96E1278CA44}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1414,16 +1169,6 @@ Global
{3E53A01A-B331-47F3-B828-4A5717E77A24}.Debug|Mono.Build.0 = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.Debug|x86.ActiveCfg = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.Debug|x86.Build.0 = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.Release|Any CPU.Build.0 = Release|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1462,16 +1207,6 @@ Global
{54F237D5-A70A-4752-9656-0C70B1A7B047}.Debug|Mono.Build.0 = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.Debug|x86.ActiveCfg = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.Debug|x86.Build.0 = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.Release|Any CPU.ActiveCfg = Release|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.Release|Any CPU.Build.0 = Release|Any CPU
{54F237D5-A70A-4752-9656-0C70B1A7B047}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1510,16 +1245,6 @@ Global
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.Debug|Mono.Build.0 = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.Debug|x86.ActiveCfg = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.Debug|x86.Build.0 = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.Release|Any CPU.Build.0 = Release|Any CPU
{FB05AC90-89BA-4F2F-A924-F37875FB547C}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1558,16 +1283,6 @@ Global
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Debug|Mono.Build.0 = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Debug|x86.ActiveCfg = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Debug|x86.Build.0 = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Release|Any CPU.Build.0 = Release|Any CPU
{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1606,16 +1321,6 @@ Global
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Debug|Mono.Build.0 = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Debug|x86.ActiveCfg = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Debug|x86.Build.0 = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Release|Any CPU.Build.0 = Release|Any CPU
{5FB2B005-0A7F-4DAD-ADD4-3ED01444E63D}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1654,16 +1359,6 @@ Global
{6417E941-21BC-467B-A771-0DE389353CE6}.Debug|Mono.Build.0 = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.Debug|x86.ActiveCfg = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.Debug|x86.Build.0 = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.Release|Any CPU.Build.0 = Release|Any CPU
{6417E941-21BC-467B-A771-0DE389353CE6}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1702,16 +1397,6 @@ Global
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Debug|Mono.Build.0 = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Debug|x86.ActiveCfg = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Debug|x86.Build.0 = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Release|Any CPU.Build.0 = Release|Any CPU
{8EF392D5-1416-45AA-9956-7CBBC3229E8A}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1750,16 +1435,6 @@ Global
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Debug|Mono.Build.0 = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Debug|x86.ActiveCfg = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Debug|x86.Build.0 = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Release|Any CPU.Build.0 = Release|Any CPU
{08B3E6B9-1CD5-443C-9F61-6D49D1C5F162}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1797,16 +1472,6 @@ Global
{925DD807-B651-475F-9F7C-CBEB974CE43D}.Debug|Mono.ActiveCfg = Debug|Any CPU
{925DD807-B651-475F-9F7C-CBEB974CE43D}.Debug|x86.ActiveCfg = Debug|x86
{925DD807-B651-475F-9F7C-CBEB974CE43D}.Debug|x86.Build.0 = Debug|x86
{925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|x86.ActiveCfg = Debug|x86
{925DD807-B651-475F-9F7C-CBEB974CE43D}.DebugOmniXaml|x86.Build.0 = Debug|x86
{925DD807-B651-475F-9F7C-CBEB974CE43D}.Release|Any CPU.ActiveCfg = Release|x86
{925DD807-B651-475F-9F7C-CBEB974CE43D}.Release|Any CPU.Build.0 = Release|x86
{925DD807-B651-475F-9F7C-CBEB974CE43D}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1841,11 +1506,6 @@ Global
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Debug|Mono.ActiveCfg = Debug|Any CPU
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Debug|x86.ActiveCfg = Debug|Any CPU
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Debug|x86.Build.0 = Debug|Any CPU
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Release|Any CPU.Build.0 = Release|Any CPU
{BD43F7C0-396B-4AA1-BAD9-DFDE54D51298}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1880,11 +1540,6 @@ Global
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.Debug|Mono.ActiveCfg = Debug|Any CPU
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.Debug|x86.ActiveCfg = Debug|Any CPU
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.Debug|x86.Build.0 = Debug|Any CPU
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.Release|Any CPU.Build.0 = Release|Any CPU
{47BE08A7-5985-410B-9FFC-2264B8EA595F}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1913,11 +1568,6 @@ Global
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Debug|Mono.ActiveCfg = Debug|Any CPU
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Debug|x86.ActiveCfg = Debug|Any CPU
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Debug|x86.Build.0 = Debug|Any CPU
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Release|Any CPU.Build.0 = Release|Any CPU
{7B92AF71-6287-4693-9DCB-BD5B6E927E23}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -1942,11 +1592,6 @@ Global
{FF69B927-C545-49AE-8E16-3D14D621AA12}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{FF69B927-C545-49AE-8E16-3D14D621AA12}.Debug|Mono.ActiveCfg = Debug|Any CPU
{FF69B927-C545-49AE-8E16-3D14D621AA12}.Debug|x86.ActiveCfg = Debug|Any CPU
{FF69B927-C545-49AE-8E16-3D14D621AA12}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{FF69B927-C545-49AE-8E16-3D14D621AA12}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{FF69B927-C545-49AE-8E16-3D14D621AA12}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{FF69B927-C545-49AE-8E16-3D14D621AA12}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{FF69B927-C545-49AE-8E16-3D14D621AA12}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{FF69B927-C545-49AE-8E16-3D14D621AA12}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF69B927-C545-49AE-8E16-3D14D621AA12}.Release|Any CPU.Build.0 = Release|Any CPU
{FF69B927-C545-49AE-8E16-3D14D621AA12}.Release|Any CPU.Deploy.0 = Release|Any CPU
@ -1981,16 +1626,6 @@ Global
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.Debug|Mono.ActiveCfg = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.Debug|x86.ActiveCfg = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.Debug|x86.Build.0 = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.Release|Any CPU.Build.0 = Release|Any CPU
{4488AD85-1495-4809-9AA4-DDFE0A48527E}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2021,16 +1656,6 @@ Global
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.Debug|Mono.ActiveCfg = Debug|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|Any CPU.ActiveCfg = Release|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|Any CPU.Build.0 = Release|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|iPhone.ActiveCfg = Debug|iPhone
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|iPhone.Build.0 = Debug|iPhone
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|Mono.ActiveCfg = Release|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|Mono.Build.0 = Release|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|x86.ActiveCfg = Release|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.DebugOmniXaml|x86.Build.0 = Release|iPhoneSimulator
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.Release|Any CPU.ActiveCfg = Release|iPhone
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.Release|iPhone.ActiveCfg = Release|iPhone
{8C923867-8A8F-4F6B-8B80-47D9E8436166}.Release|iPhone.Build.0 = Release|iPhone
@ -2065,16 +1690,6 @@ Global
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Debug|Mono.ActiveCfg = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Debug|x86.ActiveCfg = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Debug|x86.Build.0 = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Release|Any CPU.Build.0 = Release|Any CPU
{E1AA3DBF-9056-4530-9376-18119A7A3FFE}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2112,16 +1727,6 @@ Global
{88060192-33D5-4932-B0F9-8BD2763E857D}.Debug|Mono.Build.0 = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.Debug|x86.ActiveCfg = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.Debug|x86.Build.0 = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.Release|Any CPU.Build.0 = Release|Any CPU
{88060192-33D5-4932-B0F9-8BD2763E857D}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2160,11 +1765,6 @@ Global
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Debug|Mono.Build.0 = Debug|Any CPU
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Debug|x86.ActiveCfg = Debug|Any CPU
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Debug|x86.Build.0 = Debug|Any CPU
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Release|Any CPU.Build.0 = Release|Any CPU
{410AC439-81A1-4EB5-B5E9-6A7FC6B77F4B}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2203,16 +1803,6 @@ Global
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.Debug|Mono.Build.0 = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.Debug|x86.ActiveCfg = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.Debug|x86.Build.0 = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.Release|Any CPU.Build.0 = Release|Any CPU
{B61B66A3-B82D-4875-8001-89D3394FE0C9}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2251,16 +1841,6 @@ Global
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Debug|Mono.Build.0 = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Debug|x86.ActiveCfg = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Debug|x86.Build.0 = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Release|Any CPU.Build.0 = Release|Any CPU
{799A7BB5-3C2C-48B6-85A7-406A12C420DA}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2299,16 +1879,6 @@ Global
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.Debug|Mono.Build.0 = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.Debug|x86.ActiveCfg = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.Debug|x86.Build.0 = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.Release|Any CPU.Build.0 = Release|Any CPU
{D0A739B9-3C68-4BA6-A328-41606954B6BD}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2347,16 +1917,6 @@ Global
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Debug|Mono.Build.0 = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Debug|x86.ActiveCfg = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Debug|x86.Build.0 = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Release|Any CPU.Build.0 = Release|Any CPU
{2B888490-D14A-4BCA-AB4B-48676FA93C9B}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2388,11 +1948,6 @@ Global
{57E0455D-D565-44BB-B069-EE1AA20F8337}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{57E0455D-D565-44BB-B069-EE1AA20F8337}.Debug|Mono.ActiveCfg = Debug|iPhoneSimulator
{57E0455D-D565-44BB-B069-EE1AA20F8337}.Debug|x86.ActiveCfg = Debug|iPhone
{57E0455D-D565-44BB-B069-EE1AA20F8337}.DebugOmniXaml|Any CPU.ActiveCfg = Release|iPhoneSimulator
{57E0455D-D565-44BB-B069-EE1AA20F8337}.DebugOmniXaml|iPhone.ActiveCfg = Debug|iPhone
{57E0455D-D565-44BB-B069-EE1AA20F8337}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{57E0455D-D565-44BB-B069-EE1AA20F8337}.DebugOmniXaml|Mono.ActiveCfg = Release|iPhoneSimulator
{57E0455D-D565-44BB-B069-EE1AA20F8337}.DebugOmniXaml|x86.ActiveCfg = Release|iPhoneSimulator
{57E0455D-D565-44BB-B069-EE1AA20F8337}.Release|Any CPU.ActiveCfg = Release|iPhone
{57E0455D-D565-44BB-B069-EE1AA20F8337}.Release|iPhone.ActiveCfg = Release|iPhone
{57E0455D-D565-44BB-B069-EE1AA20F8337}.Release|iPhone.Build.0 = Release|iPhone
@ -2427,16 +1982,6 @@ Global
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Debug|Mono.ActiveCfg = Debug|Any CPU
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Debug|x86.ActiveCfg = Debug|x86
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Debug|x86.Build.0 = Debug|x86
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|x86.ActiveCfg = Debug|x86
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.DebugOmniXaml|x86.Build.0 = Debug|x86
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Release|Any CPU.ActiveCfg = Release|x86
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Release|Any CPU.Build.0 = Release|x86
{D35A9F3D-8BB0-496E-BF72-444038A7DEBB}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2473,16 +2018,6 @@ Global
{52F55355-D120-42AC-8116-8410A7D602FA}.Debug|Mono.ActiveCfg = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.Debug|x86.ActiveCfg = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.Debug|x86.Build.0 = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.Release|Any CPU.Build.0 = Release|Any CPU
{52F55355-D120-42AC-8116-8410A7D602FA}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2519,16 +2054,6 @@ Global
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Debug|Mono.ActiveCfg = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Debug|x86.ActiveCfg = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Debug|x86.Build.0 = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Release|Any CPU.Build.0 = Release|Any CPU
{F1381F98-4D24-409A-A6C5-1C5B1E08BB08}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2566,16 +2091,6 @@ Global
{FBCAF3D0-2808-4934-8E96-3F607594517B}.Debug|Mono.Build.0 = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.Debug|x86.ActiveCfg = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.Debug|x86.Build.0 = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.Release|Any CPU.Build.0 = Release|Any CPU
{FBCAF3D0-2808-4934-8E96-3F607594517B}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2613,16 +2128,6 @@ Global
{C7A69145-60B6-4882-97D6-A3921DD43978}.Debug|Mono.ActiveCfg = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.Debug|x86.ActiveCfg = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.Debug|x86.Build.0 = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.Release|Any CPU.Build.0 = Release|Any CPU
{C7A69145-60B6-4882-97D6-A3921DD43978}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2662,16 +2167,6 @@ Global
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Debug|Mono.Build.0 = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Debug|x86.ActiveCfg = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Debug|x86.Build.0 = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Release|Any CPU.Build.0 = Release|Any CPU
{BD7F352C-6DC1-4740-BAF2-2D34A038728C}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2712,16 +2207,6 @@ Global
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Debug|Mono.Build.0 = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Debug|x86.ActiveCfg = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Debug|x86.Build.0 = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Release|Any CPU.Build.0 = Release|Any CPU
{4A1ABB09-9047-4BD5-A4AD-A055E52C5EE0}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2762,16 +2247,6 @@ Global
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Debug|Mono.Build.0 = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Debug|x86.ActiveCfg = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Debug|x86.Build.0 = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Release|Any CPU.Build.0 = Release|Any CPU
{F1FDC5B0-4654-416F-AE69-E3E9BBD87801}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2825,11 +2300,6 @@ Global
{29132311-1848-4FD6-AE0C-4FF841151BD3}.Debug|x86.ActiveCfg = Debug|Any CPU
{29132311-1848-4FD6-AE0C-4FF841151BD3}.Debug|x86.Build.0 = Debug|Any CPU
{29132311-1848-4FD6-AE0C-4FF841151BD3}.Debug|x86.Deploy.0 = Debug|Any CPU
{29132311-1848-4FD6-AE0C-4FF841151BD3}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{29132311-1848-4FD6-AE0C-4FF841151BD3}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{29132311-1848-4FD6-AE0C-4FF841151BD3}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{29132311-1848-4FD6-AE0C-4FF841151BD3}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{29132311-1848-4FD6-AE0C-4FF841151BD3}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{29132311-1848-4FD6-AE0C-4FF841151BD3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{29132311-1848-4FD6-AE0C-4FF841151BD3}.Release|Any CPU.Build.0 = Release|Any CPU
{29132311-1848-4FD6-AE0C-4FF841151BD3}.Release|Any CPU.Deploy.0 = Release|Any CPU
@ -2872,11 +2342,6 @@ Global
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Debug|Mono.ActiveCfg = Debug|Any CPU
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Debug|x86.ActiveCfg = Debug|Any CPU
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Debug|x86.Build.0 = Debug|Any CPU
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Release|Any CPU.Build.0 = Release|Any CPU
{40759A76-D0F2-464E-8000-6FF0F5C4BD7C}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2916,11 +2381,6 @@ Global
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Debug|Mono.Build.0 = Debug|Any CPU
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Debug|x86.ActiveCfg = Debug|Any CPU
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Debug|x86.Build.0 = Debug|Any CPU
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Release|Any CPU.Build.0 = Release|Any CPU
{7863EA94-F0FB-4386-BF8C-E5BFA761560A}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -2961,11 +2421,6 @@ Global
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Debug|Mono.Build.0 = Debug|Any CPU
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Debug|x86.ActiveCfg = Debug|Any CPU
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Debug|x86.Build.0 = Debug|Any CPU
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Release|Any CPU.Build.0 = Release|Any CPU
{7D2D3083-71DD-4CC9-8907-39A0D86FB322}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -3006,11 +2461,6 @@ Global
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Debug|Mono.Build.0 = Debug|Any CPU
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Debug|x86.ActiveCfg = Debug|Any CPU
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Debug|x86.Build.0 = Debug|Any CPU
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Release|Any CPU.Build.0 = Release|Any CPU
{BB1F7BB5-6AD4-4776-94D9-C09D0A972658}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -3051,16 +2501,6 @@ Global
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Debug|Mono.Build.0 = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Debug|x86.ActiveCfg = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Debug|x86.Build.0 = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Release|Any CPU.Build.0 = Release|Any CPU
{39D7B147-1A5B-47C2-9D01-21FB7C47C4B3}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -3101,16 +2541,6 @@ Global
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Debug|Mono.Build.0 = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Debug|x86.ActiveCfg = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Debug|x86.Build.0 = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Release|Any CPU.Build.0 = Release|Any CPU
{854568D5-13D1-4B4F-B50D-534DC7EFD3C9}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -3151,16 +2581,6 @@ Global
{638580B0-7910-40EF-B674-DCB34DA308CD}.Debug|Mono.Build.0 = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.Debug|x86.ActiveCfg = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.Debug|x86.Build.0 = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.Release|Any CPU.Build.0 = Release|Any CPU
{638580B0-7910-40EF-B674-DCB34DA308CD}.Release|iPhone.ActiveCfg = Release|Any CPU
@ -3201,16 +2621,6 @@ Global
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Debug|Mono.Build.0 = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Debug|x86.ActiveCfg = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Debug|x86.Build.0 = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|Any CPU.ActiveCfg = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|Any CPU.Build.0 = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|iPhone.ActiveCfg = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|iPhone.Build.0 = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|iPhoneSimulator.Build.0 = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|Mono.ActiveCfg = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|Mono.Build.0 = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|x86.ActiveCfg = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.DebugOmniXaml|x86.Build.0 = Debug|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Release|Any CPU.Build.0 = Release|Any CPU
{CBC4FF2F-92D4-420B-BE21-9FE0B930B04E}.Release|iPhone.ActiveCfg = Release|Any CPU

2
src/Avalonia.DesignerSupport/DesignerAssist.cs

@ -5,8 +5,6 @@ using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using OmniXaml;
using OmniXaml.ObjectAssembler;
using Avalonia.Controls;
using Avalonia.Controls.Platform;
using Avalonia.Markup.Xaml;

206
src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj

@ -24,16 +24,6 @@
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\Avalonia.Markup.Xaml.XML</DocumentationFile>
<NoWarn>CS1591</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'DebugOmniXaml'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\DebugOmniXaml\</OutputPath>
<DefineConstants>TRACE;DEBUG;OMNIXAML</DefineConstants>
<NoWarn>CS1591</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\Shared\SharedAssemblyInfo.cs">
@ -52,27 +42,12 @@
<Compile Include="PortableXaml\AvaloniaXamlObjectWriter.cs" />
<Compile Include="PortableXaml\AvaloniaRuntimeTypeProvider.cs" />
<Compile Include="PortableXaml\AvaloniaXamlSchemaContext.cs" />
<Compile Include="Context\NameScopeWrapper.cs" />
<Compile Include="Context\AvaloniaAttachableXamlMember.cs" />
<Compile Include="Context\AvaloniaLifeCycleListener.cs" />
<Compile Include="Context\AvaloniaMemberValuePlugin.cs" />
<Compile Include="Context\AvaloniaNamespaceRegistry.cs" />
<Compile Include="Context\AvaloniaObjectAssembler.cs" />
<Compile Include="Context\AvaloniaTypeFeatureProvider.cs" />
<Compile Include="Context\AvaloniaParserFactory.cs" />
<Compile Include="Context\AvaloniaRuntimeTypeSource.cs" />
<Compile Include="Context\AvaloniaTypeRepository.cs" />
<Compile Include="Context\AvaloniaXamlMember.cs" />
<Compile Include="Context\AvaloniaXamlType.cs" />
<Compile Include="Context\PropertyAccessor.cs" />
<Compile Include="Converters\BitmapTypeConverter.cs" />
<Compile Include="Converters\BrushTypeConverter.cs" />
<Compile Include="Converters\ClassesTypeConverter.cs" />
<Compile Include="Converters\ColorTypeConverter.cs" />
<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" />
@ -89,7 +64,6 @@
<Compile Include="Converters\SelectorTypeConverter.cs" />
<Compile Include="Converters\ThicknessTypeConverter.cs" />
<Compile Include="Converters\TimeSpanTypeConverter.cs" />
<Compile Include="Converters\UriTypeConverter.cs" />
<Compile Include="Data\Binding.cs" />
<Compile Include="Data\DelayedBinding.cs" />
<Compile Include="Data\MultiBinding.cs" />
@ -97,8 +71,6 @@
<Compile Include="Data\SourceBindingEndpoint.cs" />
<Compile Include="Data\StyleResourceBinding.cs" />
<Compile Include="Data\TargetBindingEndpoint.cs" />
<Compile Include="MarkupExtensions\Standard\StaticExtension.cs" />
<Compile Include="MarkupExtensions\Standard\TypeExtension.cs" />
<Compile Include="MarkupExtensions\StyleResourceExtension.cs" />
<Compile Include="MarkupExtensions\BindingExtension.cs" />
<Compile Include="MarkupExtensions\RelativeSourceExtension.cs" />
@ -111,7 +83,6 @@
<Compile Include="PortableXaml\AvaloniaXamlType.cs" />
<Compile Include="PortableXaml\TypeDescriptorExtensions.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="AvaloniaXamlLoaderOmniXaml.cs" />
<Compile Include="Styling\StyleInclude.cs" />
<Compile Include="Templates\ControlTemplate.cs" />
<Compile Include="Templates\DataTemplate.cs" />
@ -123,180 +94,6 @@
<Compile Include="Templates\TemplateLoader.cs" />
<Compile Include="Templates\TreeDataTemplate.cs" />
<Compile Include="PortableXaml\portable.xaml.github\src\Portable.Xaml\**\*.cs" Exclude="PortableXaml\portable.xaml.github\src\Portable.Xaml\Assembly\**\*.cs" />
<Compile Include="OmniXamlCompileStubs.cs" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'DebugOmniXaml|AnyCPU'">
<Compile Include="glass\Glass.Core\AutoKeyDictionary.cs" />
<Compile Include="glass\Glass.Core\DependencySorter.cs" />
<Compile Include="glass\Glass.Core\EnumExtensions.cs" />
<Compile Include="glass\Glass.Core\Extensions.cs" />
<Compile Include="glass\Glass.Core\Guard.cs" />
<Compile Include="glass\Glass.Core\IAdd.cs" />
<Compile Include="glass\Glass.Core\IDependency.cs" />
<Compile Include="glass\Glass.Core\ReflectionExtensions.cs" />
<Compile Include="glass\Glass.Core\StackingLinkedList.cs" />
<Compile Include="glass\Glass.Core\StackingLinkedListMixin.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Attributes\ContentPropertyAttribute.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Attributes\DependsOnAttribute.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Attributes\XmlnsDefinitionAttribute.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\AddressPack.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\AssemblyNameConfig.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\ConfiguredAssembly.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\ConfiguredAssemblyWithNamespaces.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\ContentProperties.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\ContentPropertyDefinition.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\Converters.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\Route.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\TypeConverterRegistration.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\XamlInstructionBuilder.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Builder\XamlNamespace.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\DefaultLoader.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\DefaultObjectAssemblerFactory.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\DefaultParserFactory.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\DeferredLoaderMapping.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\DependencySortingVisitor.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\IContentPropertyProvider.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\IDeferredLoader.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\IInstanceLifeCycleListener.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ILoader.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\IMarkupExtension.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\INameScope.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\InstanceLifeCycleHandler.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Instruction.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\InstructionNode.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\InstructionTreeBuilder.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\InstructionType.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\IObjectAssembler.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\IObjectAssemblerFactory.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\IParser.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\IParserFactory.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\IRuntimeTypeSource.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ITypeFactory.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ITypeFeatureProvider.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ITypeProvider.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\IValueConverter.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\LoadException.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\LoadMixin.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\LookaheadBuffer.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\MarkupExtension.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\MarkupExtensionContext.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\MemberDependencyNodeSorter.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\MemberReverserVisitor.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\NamespaceDeclaration.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\NamespacePrefix.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssemblerMixin.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Command.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Commands\EndMemberCommand.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Commands\EndObjectCommand.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Commands\GetObjectCommand.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Commands\ITopDownValueContext.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Commands\NamespaceDeclarationCommand.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Commands\StartMemberCommand.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Commands\StartObjectCommand.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Commands\ValueCommand.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\ConstructionArgument.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\CurrentLevelWrapper.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\InstanceProperties.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Level.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\NullLevel.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\NullLifecycleListener.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\ObjectAssembler.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\PreviousLevelWrapper.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\Settings.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\StateCommuter.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\StoredInstance.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\TopDownValueContext.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\TypeOperations.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\ValueProcessingMode.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ObjectAssembler\XamlSetValueEventArgs.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ParseException.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\Inject.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\IParser.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\AssignmentNode.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\IdentifierNode.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\MarkupExtensionNode.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\MarkupExtensionNodeToXamlNodesConverter.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\MarkupExtensionParser.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\Option.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\OptionsCollection.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\PositionalOption.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\PropertyOption.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\StringNode.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\MarkupExtensions\TreeNode.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\Parser\IInstructionParser.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\Parser\InstructionParser.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\Parser\OrderAwareInstructionParser.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\AttributeAssignment.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\AttributeFeed.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\AttributeParser.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\DirectiveAssignment.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\IProtoParser.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\IXmlReader.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\NodeType.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\NsPrefix.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\ProtoInstructionParser.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\UnprocessedAttributeBase.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Parsers\ProtoParser\XmlCompatibilityReader.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\PhaseParserKit.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\PrefixRegistrationMode.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ProtoInstruction.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ProtoInstructionBuilder.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\RuntimeTypeSource.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Sequence.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TemplateHostingObjectAssembler.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\BuiltInConverters\BooleanConverter.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\BuiltInConverters\DoubleTypeConverter.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\BuiltInConverters\IntTypeConverter.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\BuiltInConverters\StringTypeConverter.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\BuiltInConverters\TypeTypeConverter.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\ITypeConverter.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\ITypeConverterProvider.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\IValueContext.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\TypeConverterAttribute.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\TypeConverterProvider.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeConversion\ValueContext.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeFactory.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeFactoryMixin.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeFeatureProvider.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\TypeNotFoundException.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\AttachableMember.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\ClrNamespace.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\CommonValueConversion.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\CoreTypes.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\DependencyRegistration.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\DependencyRegistrations.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\Directive.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\GenericMetadata.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\IMemberValuePlugin.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\INamespaceRegistry.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\ITypeRepository.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\Member.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\MemberBase.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\MemberValuePlugin.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\Metadata.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\MetadataProvider.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\MutableMember.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\NameAttribute.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\Namespace.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\NamespaceRegistry.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\NamespaceRegistryMixin.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\PrefixRegistration.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\PropertyLocator.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\TypeConverterProviderMixin.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\TypeRepository.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\TypeRepositoryMixin.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\XamlName.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\XamlQualifiedName.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\XamlType.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Typing\XamlTypeName.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\ValueConversionException.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Visualization\IVisitor.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Visualization\NodeType.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Visualization\NodeVisualizer.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Visualization\VisualizationNode.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\Visualization\VisualizationTag.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\XmlLoader.cs" />
<Compile Include="OmniXAML\Source\OmniXaml\XmlParser.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Avalonia.Animation\Avalonia.Animation.csproj" />
@ -309,9 +106,6 @@
<ProjectReference Include="..\..\Avalonia.Styling\Avalonia.Styling.csproj" />
<ProjectReference Include="..\Avalonia.Markup\Avalonia.Markup.csproj" />
</ItemGroup>
<ItemGroup>
<Content Include="glass\Glass.Core\Glass.Core.csproj" />
</ItemGroup>
<Import Project="..\..\..\build\Markup.props" />
<Import Project="..\..\..\build\Sprache.props" />
<Import Project="..\..\..\build\Rx.props" />

7
src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs

@ -1,11 +1,6 @@
namespace Avalonia.Markup.Xaml
{
public class AvaloniaXamlLoader :
#if OMNIXAML
AvaloniaXamlLoaderOmniXaml
#else
AvaloniaXamlLoaderPortableXaml
#endif
public class AvaloniaXamlLoader : AvaloniaXamlLoaderPortableXaml
{
public static object Parse(string xaml)
=> new AvaloniaXamlLoader().Load(xaml);

227
src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoaderOmniXaml.cs

@ -1,227 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Text;
using OmniXaml;
using Avalonia.Platform;
using Avalonia.Markup.Xaml.Context;
using Avalonia.Markup.Xaml.Styling;
using OmniXaml.ObjectAssembler;
using Avalonia.Controls;
using Avalonia.Markup.Xaml.Data;
namespace Avalonia.Markup.Xaml
{
#if OMNIXAML
/// <summary>
/// Loads XAML for a avalonia application.
/// </summary>
public class AvaloniaXamlLoaderOmniXaml : XmlLoader
{
private static AvaloniaParserFactory s_parserFactory;
private static IInstanceLifeCycleListener s_lifeCycleListener = new AvaloniaLifeCycleListener();
private static Stack<Uri> s_uriStack = new Stack<Uri>();
/// <summary>
/// Initializes a new instance of the <see cref="AvaloniaXamlLoader"/> class.
/// </summary>
public AvaloniaXamlLoaderOmniXaml()
: this(GetParserFactory())
{
}
/// <summary>
/// Initializes a new instance of the <see cref="AvaloniaXamlLoader"/> class.
/// </summary>
/// <param name="xamlParserFactory">The parser factory to use.</param>
public AvaloniaXamlLoaderOmniXaml(IParserFactory xamlParserFactory)
: base(xamlParserFactory)
{
}
/// <summary>
/// Gets the URI of the XAML file currently being loaded.
/// </summary>
/// <remarks>
/// TODO: Making this internal for now as I'm not sure that this is the correct
/// thing to do, but its needed by <see cref="StyleInclude"/> to get the URL of
/// the currently loading XAML file, as we can't use the OmniXAML parsing context
/// there. Maybe we need a way to inject OmniXAML context into the objects its
/// constructing?
/// </remarks>
internal static Uri UriContext => s_uriStack.Count > 0 ? s_uriStack.Peek() : null;
/// <summary>
/// Loads the XAML into a Avalonia component.
/// </summary>
/// <param name="obj">The object to load the XAML into.</param>
public static void Load(object obj)
{
Contract.Requires<ArgumentNullException>(obj != null);
var loader = new AvaloniaXamlLoaderOmniXaml();
loader.Load(obj.GetType(), obj);
}
/// <summary>
/// Loads the XAML for a type.
/// </summary>
/// <param name="type">The type.</param>
/// <param name="rootInstance">
/// The optional instance into which the XAML should be loaded.
/// </param>
/// <returns>The loaded object.</returns>
public object Load(Type type, object rootInstance = null)
{
Contract.Requires<ArgumentNullException>(type != null);
// HACK: Currently Visual Studio is forcing us to change the extension of xaml files
// in certain situations, so we try to load .xaml and if that's not found we try .xaml.
// Ideally we'd be able to use .xaml everywhere
var assetLocator = AvaloniaLocator.Current.GetService<IAssetLoader>();
if (assetLocator == null)
{
throw new InvalidOperationException(
"Could not create IAssetLoader : maybe Application.RegisterServices() wasn't called?");
}
foreach (var uri in GetUrisFor(type))
{
if (assetLocator.Exists(uri))
{
using (var stream = assetLocator.Open(uri))
{
var initialize = rootInstance as ISupportInitialize;
initialize?.BeginInit();
return Load(stream, rootInstance, uri);
}
}
}
throw new FileNotFoundException("Unable to find view for " + type.FullName);
}
/// <summary>
/// Loads XAML from a URI.
/// </summary>
/// <param name="uri">The URI of the XAML file.</param>
/// <param name="baseUri">
/// A base URI to use if <paramref name="uri"/> is relative.
/// </param>
/// <param name="rootInstance">
/// The optional instance into which the XAML should be loaded.
/// </param>
/// <returns>The loaded object.</returns>
public object Load(Uri uri, Uri baseUri = null, object rootInstance = null)
{
Contract.Requires<ArgumentNullException>(uri != null);
var assetLocator = AvaloniaLocator.Current.GetService<IAssetLoader>();
if (assetLocator == null)
{
throw new InvalidOperationException(
"Could not create IAssetLoader : maybe Application.RegisterServices() wasn't called?");
}
using (var stream = assetLocator.Open(uri, baseUri))
{
return Load(stream, rootInstance, uri);
}
}
/// <summary>
/// Loads XAML from a string.
/// </summary>
/// <param name="xaml">The string containing the XAML.</param>
/// <param name="rootInstance">
/// The optional instance into which the XAML should be loaded.
/// </param>
/// <returns>The loaded object.</returns>
public object Load(string xaml, object rootInstance = null)
{
Contract.Requires<ArgumentNullException>(xaml != null);
using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(xaml)))
{
return Load(stream, rootInstance);
}
}
/// <summary>
/// Loads XAML from a stream.
/// </summary>
/// <param name="stream">The stream containing the XAML.</param>
/// <param name="rootInstance">
/// The optional instance into which the XAML should be loaded.
/// </param>
/// <param name="uri">The URI of the XAML</param>
/// <returns>The loaded object.</returns>
public object Load(Stream stream, object rootInstance = null, Uri uri = null)
{
try
{
if (uri != null)
{
s_uriStack.Push(uri);
}
var result = base.Load(stream, new Settings
{
RootInstance = rootInstance,
InstanceLifeCycleListener = s_lifeCycleListener,
ParsingContext = new Dictionary<string, object>
{
{ "Uri", uri }
}
});
var topLevel = result as TopLevel;
if (topLevel != null)
{
DelayedBinding.ApplyBindings(topLevel);
}
return result;
}
finally
{
if (uri != null)
{
s_uriStack.Pop();
}
}
}
private static AvaloniaParserFactory GetParserFactory()
{
if (s_parserFactory == null)
{
s_parserFactory = new AvaloniaParserFactory();
}
return s_parserFactory;
}
/// <summary>
/// Gets the URI for a type.
/// </summary>
/// <param name="type">The type.</param>
/// <returns>The URI.</returns>
private static IEnumerable<Uri> GetUrisFor(Type type)
{
var asm = type.GetTypeInfo().Assembly.GetName().Name;
var typeName = type.FullName;
yield return new Uri("resm:" + typeName + ".xaml?assembly=" + asm);
yield return new Uri("resm:" + typeName + ".paml?assembly=" + asm);
}
}
#endif
}

35
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaAttachableXamlMember.cs

@ -1,35 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Markup.Xaml.Data;
using OmniXaml;
using OmniXaml.Typing;
using System.Reflection;
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
public class AvaloniaAttachableXamlMember : AttachableMember
{
public AvaloniaAttachableXamlMember(string name,
XamlType owner,
MethodInfo getter,
MethodInfo setter,
ITypeRepository xamlTypeRepository,
ITypeFeatureProvider featureProvider)
: base(name, getter, setter, xamlTypeRepository, featureProvider)
{
}
public override string ToString()
{
return "Avalonia Attachable XAML Member " + base.ToString();
}
protected override IMemberValuePlugin LookupXamlMemberValueConnector()
{
return new AvaloniaMemberValuePlugin(this);
}
}
#endif
}

58
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaContentPropertyProvider.cs

@ -1,58 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Glass;
using OmniXaml;
using OmniXaml.Builder;
using Avalonia.Metadata;
namespace Avalonia.Markup.Xaml.Context
{
public class AvaloniaContentPropertyProvider : IContentPropertyProvider
{
private readonly Dictionary<Type, string> _values = new Dictionary<Type, string>();
public string GetContentPropertyName(Type type)
{
string result;
if (!_values.TryGetValue(type, out result))
{
result = LookupContentProperty(type);
_values[type] = result;
}
return result;
}
private string LookupContentProperty(Type type)
{
var result = (from member in type.GetRuntimeProperties()
let att = member.GetCustomAttribute<ContentAttribute>()
where att != null
select member).FirstOrDefault();
return result?.Name;
}
void IAdd<ContentPropertyDefinition>.Add(ContentPropertyDefinition item)
{
throw new NotImplementedException();
}
IEnumerator IEnumerable.GetEnumerator()
{
throw new NotImplementedException();
}
IEnumerator<ContentPropertyDefinition> IEnumerable<ContentPropertyDefinition>.GetEnumerator()
{
throw new NotImplementedException();
}
}
}

33
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaLifeCycleListener.cs

@ -1,33 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using OmniXaml;
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
public class AvaloniaLifeCycleListener : IInstanceLifeCycleListener
{
public void OnAfterProperties(object instance)
{
}
public void OnAssociatedToParent(object instance)
{
}
public void OnBegin(object instance)
{
var isi = instance as ISupportInitialize;
isi?.BeginInit();
}
public void OnEnd(object instance)
{
var isi = instance as ISupportInitialize;
isi?.EndInit();
}
}
#endif
}

27
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaMemberValuePlugin.cs

@ -1,27 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using OmniXaml.TypeConversion;
using OmniXaml.Typing;
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
public class AvaloniaMemberValuePlugin : MemberValuePlugin
{
private readonly MutableMember _xamlMember;
public AvaloniaMemberValuePlugin(MutableMember xamlMember)
: base(xamlMember)
{
_xamlMember = xamlMember;
}
public override void SetValue(object instance, object value, IValueContext valueContext)
{
PropertyAccessor.SetValue(instance, _xamlMember, value, valueContext);
}
}
#endif
}

183
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaNamespaceRegistry.cs

@ -1,183 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using OmniXaml.Builder;
using OmniXaml.Typing;
using Avalonia.Controls;
using Avalonia.Markup.Xaml.Templates;
using Avalonia.Media;
using Avalonia.Metadata;
using Avalonia.Platform;
using Avalonia.Styling;
using Glass.Core;
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
public class AvaloniaNamespaceRegistry : INamespaceRegistry
{
private const string ClrNamespace = "clr-namespace:";
private const string AvaloniaNs = "https://github.com/avaloniaui";
private static readonly IEnumerable<Assembly> ForcedAssemblies = new[]
{
typeof(AvaloniaObject).GetTypeInfo().Assembly,
typeof(Control).GetTypeInfo().Assembly,
typeof(Style).GetTypeInfo().Assembly,
typeof(DataTemplate).GetTypeInfo().Assembly,
typeof(SolidColorBrush).GetTypeInfo().Assembly,
typeof(IValueConverter).GetTypeInfo().Assembly,
};
private List<ClrNamespace> _clrNamespaces = new List<ClrNamespace>();
private List<XamlNamespace> _namespaces = new List<XamlNamespace>();
private Dictionary<string, string> _prefixes = new Dictionary<string, string>();
private List<Assembly> _scanned = new List<Assembly>();
public AvaloniaNamespaceRegistry()
{
ScanAssemblies(ForcedAssemblies);
ScanNewAssemblies();
RegisterPrefix(new PrefixRegistration(string.Empty, AvaloniaNs));
}
public IEnumerable<PrefixRegistration> RegisteredPrefixes =>
_prefixes.Select(x => new PrefixRegistration(x.Key, x.Value));
public void AddNamespace(XamlNamespace xamlNamespace)
{
_namespaces.Add(xamlNamespace);
}
public Namespace GetNamespace(string name)
{
Namespace result;
if (!IsClrNamespace(name))
{
ScanNewAssemblies();
result = _namespaces.FirstOrDefault(x => x.Name == name);
if (result == null)
{
result = _namespaces.FirstOrDefault(x => x.Name == name);
}
}
else
{
var nsAndAssembly = ParseClrNameSpace(name);
result = _clrNamespaces.FirstOrDefault(x =>
x.Name == nsAndAssembly.Item1 &&
x.Assembly.GetName().Name == nsAndAssembly.Item2);
if (result == null)
{
var clr = CreateClrNamespace(name);
_clrNamespaces.Add(clr);
result = clr;
}
}
return result;
}
public Namespace GetNamespaceByPrefix(string prefix)
{
string uri;
if (_prefixes.TryGetValue(prefix, out uri))
{
return GetNamespace(uri);
}
return null;
}
public void RegisterPrefix(PrefixRegistration prefixRegistration)
{
_prefixes[prefixRegistration.Prefix] = prefixRegistration.Ns;
}
private static bool IsClrNamespace(string ns)
{
return ns.StartsWith(ClrNamespace);
}
private static ClrNamespace CreateClrNamespace(string formattedClrString)
{
var nsAndAssembly = ParseClrNameSpace(formattedClrString);
var assembly = GetAssembly(nsAndAssembly.Item2);
return new ClrNamespace(assembly, nsAndAssembly.Item1);
}
private static Tuple<string, string> ParseClrNameSpace(string clrNamespace)
{
var startOfNamespace = clrNamespace.IndexOf(":", StringComparison.Ordinal) + 1;
var endOfNamespace = clrNamespace.IndexOf(";", startOfNamespace, StringComparison.Ordinal);
if (endOfNamespace < 0)
{
endOfNamespace = clrNamespace.Length - startOfNamespace;
}
var ns = clrNamespace.Substring(startOfNamespace, endOfNamespace - startOfNamespace);
var remainingPartStart = startOfNamespace + ns.Length + 1;
var remainingPartLenght = clrNamespace.Length - remainingPartStart;
var assemblyPart = clrNamespace.Substring(remainingPartStart, remainingPartLenght);
return Tuple.Create(ns, assemblyPart.Dicotomize('=').Item2);
}
private static Assembly GetAssembly(string assemblyName)
{
return Assembly.Load(new AssemblyName(assemblyName));
}
private void ScanAssemblies(IEnumerable<Assembly> assemblies)
{
foreach (var assembly in assemblies)
{
var namespaces = assembly.GetCustomAttributes<XmlnsDefinitionAttribute>()
.Select(x => new { x.XmlNamespace, x.ClrNamespace })
.GroupBy(x => x.XmlNamespace);
foreach (var nsa in namespaces)
{
var xamlNamespace = _namespaces.FirstOrDefault(x => x.Name == nsa.Key);
if (xamlNamespace == null)
{
xamlNamespace = new XamlNamespace(nsa.Key);
_namespaces.Add(xamlNamespace);
}
var clrNamespaces = nsa.Select(x => x.ClrNamespace);
xamlNamespace.Addresses.Add(new ConfiguredAssemblyWithNamespaces(assembly, clrNamespaces));
}
_scanned.Add(assembly);
}
}
private void ScanNewAssemblies()
{
IEnumerable<Assembly> assemblies = AvaloniaLocator.Current
.GetService<IRuntimePlatform>()
?.GetLoadedAssemblies();
if (assemblies != null)
{
assemblies = assemblies.Except(_scanned);
ScanAssemblies(assemblies);
}
}
}
#endif
}

81
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaObjectAssembler.cs

@ -1,81 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using OmniXaml;
using OmniXaml.ObjectAssembler;
using OmniXaml.ObjectAssembler.Commands;
using OmniXaml.TypeConversion;
using Avalonia.Markup.Xaml.Templates;
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
public class AvaloniaObjectAssembler : IObjectAssembler
{
private readonly TemplateHostingObjectAssembler objectAssembler;
private readonly ObjectAssembler assembler;
public AvaloniaObjectAssembler(
IRuntimeTypeSource typeSource,
ITopDownValueContext topDownValueContext,
Settings settings = null)
{
var mapping = new DeferredLoaderMapping();
mapping.Map<Template>(x => x.Content, new TemplateLoader());
mapping.Map<ControlTemplate>(x => x.Content, new TemplateLoader());
mapping.Map<DataTemplate>(x => x.Content, new TemplateLoader());
mapping.Map<FocusAdornerTemplate>(x => x.Content, new TemplateLoader());
mapping.Map<TreeDataTemplate>(x => x.Content, new TemplateLoader());
mapping.Map<ItemsPanelTemplate>(x => x.Content, new TemplateLoader());
var parsingDictionary = GetDictionary(settings);
var valueContext = new ValueContext(typeSource, topDownValueContext, parsingDictionary);
assembler = new ObjectAssembler(typeSource, valueContext, settings);
objectAssembler = new TemplateHostingObjectAssembler(assembler, mapping);
}
public object Result => objectAssembler.Result;
public EventHandler<XamlSetValueEventArgs> XamlSetValueHandler { get; set; }
public IRuntimeTypeSource TypeSource => assembler.TypeSource;
public ITopDownValueContext TopDownValueContext => assembler.TopDownValueContext;
public IInstanceLifeCycleListener LifecycleListener
{
get { throw new NotImplementedException(); }
}
public void Process(Instruction node)
{
objectAssembler.Process(node);
}
public void OverrideInstance(object instance)
{
objectAssembler.OverrideInstance(instance);
}
private static IReadOnlyDictionary<string, object> GetDictionary(Settings settings)
{
IReadOnlyDictionary<string, object> dict;
if (settings != null)
{
dict = settings.ParsingContext;
}
else
{
dict = new ReadOnlyDictionary<string, object>(new Dictionary<string, object>());
}
return dict;
}
}
#endif
}

43
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaParserFactory.cs

@ -1,43 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using OmniXaml;
using OmniXaml.ObjectAssembler;
using OmniXaml.Parsers.Parser;
using OmniXaml.Parsers.ProtoParser;
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
public class AvaloniaParserFactory : IParserFactory
{
private readonly IRuntimeTypeSource runtimeTypeSource;
public AvaloniaParserFactory()
: this(new TypeFactory())
{
}
public AvaloniaParserFactory(ITypeFactory typeFactory)
{
runtimeTypeSource = new AvaloniaRuntimeTypeSource(typeFactory);
}
public IParser Create(Settings settings)
{
var xamlInstructionParser = new OrderAwareInstructionParser(new InstructionParser(runtimeTypeSource));
IObjectAssembler objectAssembler = new AvaloniaObjectAssembler(
runtimeTypeSource,
new TopDownValueContext(),
settings);
var phaseParserKit = new PhaseParserKit(
new ProtoInstructionParser(runtimeTypeSource),
xamlInstructionParser,
objectAssembler);
return new XmlParser(phaseParserKit);
}
}
#endif
}

93
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaRuntimeTypeSource.cs

@ -1,93 +0,0 @@
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Collections;
using Controls;
using Controls.Primitives;
using Controls.Templates;
using Converters;
using Data;
using Glass;
using Input;
using Media;
using Media.Imaging;
using Metadata;
using OmniXaml;
using OmniXaml.Builder;
using OmniXaml.TypeConversion;
using OmniXaml.Typing;
using Avalonia.Styling;
using Platform;
using Templates;
public class AvaloniaRuntimeTypeSource : IRuntimeTypeSource
{
private readonly RuntimeTypeSource inner;
public AvaloniaRuntimeTypeSource(ITypeFactory typeFactory)
{
var namespaceRegistry = new AvaloniaNamespaceRegistry();
var featureProvider = new AvaloniaTypeFeatureProvider();
var typeRepository = new AvaloniaTypeRepository(namespaceRegistry, typeFactory, featureProvider);
inner = new RuntimeTypeSource(typeRepository, namespaceRegistry);
}
public Namespace GetNamespace(string name)
{
return inner.GetNamespace(name);
}
public Namespace GetNamespaceByPrefix(string prefix)
{
return inner.GetNamespaceByPrefix(prefix);
}
public void RegisterPrefix(PrefixRegistration prefixRegistration)
{
inner.RegisterPrefix(prefixRegistration);
}
public void AddNamespace(XamlNamespace xamlNamespace)
{
inner.AddNamespace(xamlNamespace);
}
public IEnumerable<PrefixRegistration> RegisteredPrefixes => inner.RegisteredPrefixes;
public XamlType GetByType(Type type)
{
return inner.GetByType(type);
}
public XamlType GetByQualifiedName(string qualifiedName)
{
return inner.GetByQualifiedName(qualifiedName);
}
public XamlType GetByPrefix(string prefix, string typeName)
{
return inner.GetByPrefix(prefix, typeName);
}
public XamlType GetByFullAddress(XamlTypeName xamlTypeName)
{
return inner.GetByFullAddress(xamlTypeName);
}
public Member GetMember(PropertyInfo propertyInfo)
{
return inner.GetMember(propertyInfo);
}
public AttachableMember GetAttachableMember(string name, MethodInfo getter, MethodInfo setter)
{
return inner.GetAttachableMember(name, getter, setter);
}
}
#endif
}

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

@ -1,183 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Avalonia.Collections;
using Avalonia.Controls;
using Avalonia.Controls.Templates;
using Avalonia.Input;
using Avalonia.Markup.Xaml.Converters;
using Avalonia.Media;
using Avalonia.Media.Imaging;
using Avalonia.Metadata;
using Avalonia.Styling;
using OmniXaml;
#if OMNIXAML
using OmniXaml.Builder;
using OmniXaml.TypeConversion;
using OmniXaml.TypeConversion.BuiltInConverters;
using OmniXaml.Typing;
using OmniMetadata = OmniXaml.Typing.Metadata;
#endif
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
public class AvaloniaTypeFeatureProvider : ITypeFeatureProvider
{
private Dictionary<Type, OmniMetadata> _metadata =
new Dictionary<Type, OmniMetadata>();
private Dictionary<Type, TypeConverterRegistration> _typeConverters =
new Dictionary<Type, TypeConverterRegistration>();
public IEnumerable<TypeConverterRegistration> TypeConverters => _typeConverters.Values;
public AvaloniaTypeFeatureProvider()
{
RegisterTypeConverters();
}
public string GetContentPropertyName(Type type)
{
return GetMetadata(type)?.ContentProperty;
}
public OmniMetadata GetMetadata(Type type)
{
OmniMetadata result;
if (!_metadata.TryGetValue(type, out result))
{
result = LoadMetadata(type);
_metadata.Add(type, result);
}
return result;
}
public ITypeConverter GetTypeConverter(Type type)
{
TypeConverterRegistration result;
_typeConverters.TryGetValue(type, out result);
return result?.TypeConverter;
}
public void RegisterMetadata(Type type, OmniMetadata metadata)
{
_metadata.Add(type, metadata);
}
public void RegisterTypeConverter(Type type, ITypeConverter converter)
{
_typeConverters.Add(type, new TypeConverterRegistration(type, converter));
}
private static OmniMetadata LoadMetadata(Type type)
{
return new OmniMetadata
{
ContentProperty = GetContentProperty(type),
PropertyDependencies = GetPropertyDependencies(type),
RuntimePropertyName = type.GetRuntimeProperty("Name")?.Name,
};
}
private static string GetContentProperty(Type type)
{
while (type != null)
{
var properties = type.GetTypeInfo().DeclaredProperties
.Where(x => x.GetCustomAttribute<ContentAttribute>() != null);
string result = null;
foreach (var property in properties)
{
if (result != null)
{
throw new Exception($"Content property defined more than once on {type}.");
}
result = property.Name;
}
if (result != null)
{
return result;
}
type = type.GetTypeInfo().BaseType;
}
return null;
}
private static DependencyRegistrations GetPropertyDependencies(Type type)
{
var result = new List<DependencyRegistration>();
while (type != null)
{
var registrations = type.GetTypeInfo().DeclaredProperties
.Select(x => new
{
Property = x.Name,
Attributes = x.GetCustomAttributes<DependsOnAttribute>(),
})
.Where(x => x.Attributes.Any())
.SelectMany(x => x.Attributes.Select(y => new DependencyRegistration(x.Property, y.Name)));
result.AddRange(registrations);
type = type.GetTypeInfo().BaseType;
}
return result.Count > 0 ? new DependencyRegistrations(result) : null;
}
private void RegisterTypeConverters()
{
// HACK: For now these are hard-coded. Hopefully when the .NET Standard Platform
// is available we can use the System.ComponentModel.TypeConverters so don't want to
// spend time for now inventing a mechanism to register type converters if it's all
// going to change.
RegisterTypeConverter(typeof(string), new StringTypeConverter());
RegisterTypeConverter(typeof(int), new IntTypeConverter());
RegisterTypeConverter(typeof(long), new IntTypeConverter());
RegisterTypeConverter(typeof(short), new IntTypeConverter());
RegisterTypeConverter(typeof(double), new DoubleTypeConverter());
RegisterTypeConverter(typeof(float), new IntTypeConverter());
RegisterTypeConverter(typeof(bool), new BooleanConverter());
RegisterTypeConverter(typeof(Type), new TypeTypeConverter());
RegisterTypeConverter(typeof(IBitmap), new BitmapTypeConverter());
RegisterTypeConverter(typeof(IBrush), new BrushTypeConverter());
RegisterTypeConverter(typeof(Color), new ColorTypeConverter());
RegisterTypeConverter(typeof(Classes), new ClassesTypeConverter());
RegisterTypeConverter(typeof(ColumnDefinitions), new ColumnDefinitionsTypeConverter());
RegisterTypeConverter(typeof(DateTime), new DateTimeTypeConverter());
RegisterTypeConverter(typeof(Geometry), new GeometryTypeConverter());
RegisterTypeConverter(typeof(GridLength), new GridLengthTypeConverter());
RegisterTypeConverter(typeof(KeyGesture), new KeyGestureConverter());
RegisterTypeConverter(typeof(AvaloniaList<double>), new AvaloniaListTypeConverter<double>());
RegisterTypeConverter(typeof(IMemberSelector), new MemberSelectorTypeConverter());
RegisterTypeConverter(typeof(Point), new PointTypeConverter());
RegisterTypeConverter(typeof(IList<Point>), new PointsListTypeConverter());
RegisterTypeConverter(typeof(AvaloniaProperty), new AvaloniaPropertyTypeConverter());
RegisterTypeConverter(typeof(RelativePoint), new RelativePointTypeConverter());
RegisterTypeConverter(typeof(RelativeRect), new RelativeRectTypeConverter());
RegisterTypeConverter(typeof(RowDefinitions), new RowDefinitionsTypeConverter());
RegisterTypeConverter(typeof(Size), new SizeTypeConverter());
RegisterTypeConverter(typeof(Selector), new SelectorTypeConverter());
RegisterTypeConverter(typeof(SolidColorBrush), new BrushTypeConverter());
RegisterTypeConverter(typeof(Thickness), new ThicknessTypeConverter());
RegisterTypeConverter(typeof(TimeSpan), new TimeSpanTypeConverter());
RegisterTypeConverter(typeof(Uri), new Converters.UriTypeConverter());
RegisterTypeConverter(typeof(Cursor), new CursorTypeConverter());
RegisterTypeConverter(typeof(WindowIcon), new IconTypeConverter());
RegisterTypeConverter(typeof(FontWeight), new FontWeightConverter());
}
}
#endif
}

30
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaTypeRepository.cs

@ -1,30 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using OmniXaml;
using OmniXaml.Typing;
using Glass.Core;
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
public class AvaloniaTypeRepository : TypeRepository
{
private readonly ITypeFactory _typeFactory;
public AvaloniaTypeRepository(INamespaceRegistry xamlNamespaceRegistry,
ITypeFactory typeFactory,
ITypeFeatureProvider featureProvider) : base(xamlNamespaceRegistry, typeFactory, featureProvider)
{
_typeFactory = typeFactory;
}
public override XamlType GetByType(Type type)
{
Guard.ThrowIfNull(type, nameof(type));
return new AvaloniaXamlType(type, this, _typeFactory, FeatureProvider);
}
}
#endif
}

126
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaWiringContext.cs

@ -1,126 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Linq;
using System.Reflection;
using Glass;
using OmniXaml;
using OmniXaml.Builder;
using OmniXaml.TypeConversion;
using OmniXaml.Typing;
using Avalonia.Collections;
using Avalonia.Controls;
using Avalonia.Controls.Primitives;
using Avalonia.Controls.Templates;
using Avalonia.Input;
using Avalonia.Markup.Xaml.Converters;
using Avalonia.Markup.Xaml.Data;
using Avalonia.Media;
using Avalonia.Media.Imaging;
using Avalonia.Metadata;
using Avalonia.Platform;
using Avalonia.Styling;
using System.Collections.Generic;
namespace Avalonia.Markup.Xaml.Context
{
public class AvaloniaWiringContext : WiringContext
{
private const string AvaloniaNs = "https://github.com/avaloniaui";
public AvaloniaWiringContext(ITypeFactory typeFactory)
: this(typeFactory, new TypeFeatureProvider(GetContentPropertyProvider(), GetConverterProvider()))
{
}
public AvaloniaWiringContext(ITypeFactory typeFactory, TypeFeatureProvider featureProvider)
: base(CreateTypeContext(typeFactory, featureProvider), featureProvider)
{
}
private static ITypeContext CreateTypeContext(ITypeFactory typeFactory, TypeFeatureProvider featureProvider)
{
var xamlNamespaceRegistry = CreateXamlNamespaceRegistry();
var typeRepository = new AvaloniaTypeRepository(xamlNamespaceRegistry, typeFactory, featureProvider);
typeRepository.RegisterMetadata(new GenericMetadata<Visual>().WithRuntimeNameProperty(d => d.Name));
typeRepository.RegisterMetadata(new GenericMetadata<Setter>().WithMemberDependency(x => x.Value, x => x.Property));
typeRepository.RegisterMetadata(
new GenericMetadata<SelectingItemsControl>()
.WithMemberDependency(x => x.SelectedIndex, x => x.Items)
.WithMemberDependency(x => x.SelectedItem, x => x.Items));
return new TypeContext(typeRepository, xamlNamespaceRegistry, typeFactory);
}
private static XamlNamespaceRegistry CreateXamlNamespaceRegistry()
{
var xamlNamespaceRegistry = new XamlNamespaceRegistry();
var forcedAssemblies = new[]
{
typeof(Binding),
typeof(Control),
typeof(IValueConverter),
typeof(Style),
}.Select(t => t.GetTypeInfo().Assembly);
foreach (var nsa in
forcedAssemblies
.Concat(AvaloniaLocator.Current.GetService<IPclPlatformWrapper>().GetLoadedAssemblies())
.Distinct()
.SelectMany(asm
=> asm.GetCustomAttributes<XmlnsDefinitionAttribute>().Select(attr => new {asm, attr}))
.GroupBy(entry => entry.attr.XmlNamespace))
{
var def = XamlNamespace.Map(nsa.Key)
.With(nsa.GroupBy(x => x.asm).Select(
a => Route.Assembly(a.Key)
.WithNamespaces(a.Select(entry => entry.attr.ClrNamespace).ToList())
));
xamlNamespaceRegistry.AddNamespace(def);
}
xamlNamespaceRegistry.RegisterPrefix(new PrefixRegistration(string.Empty, AvaloniaNs));
return xamlNamespaceRegistry;
}
private static ITypeConverterProvider GetConverterProvider()
{
var typeConverterProvider = new TypeConverterProvider();
var converters = new[]
{
new TypeConverterRegistration(typeof(IBitmap), new BitmapTypeConverter()),
new TypeConverterRegistration(typeof(Brush), new BrushTypeConverter()),
new TypeConverterRegistration(typeof(Color), new ColorTypeConverter()),
new TypeConverterRegistration(typeof(Classes), new ClassesTypeConverter()),
new TypeConverterRegistration(typeof(ColumnDefinitions), new ColumnDefinitionsTypeConverter()),
new TypeConverterRegistration(typeof(Geometry), new GeometryTypeConverter()),
new TypeConverterRegistration(typeof(GridLength), new GridLengthTypeConverter()),
new TypeConverterRegistration(typeof(KeyGesture), new KeyGestureConverter()),
new TypeConverterRegistration(typeof(AvaloniaList<double>), new AvaloniaListTypeConverter<double>()),
new TypeConverterRegistration(typeof(IMemberSelector), new MemberSelectorTypeConverter()),
new TypeConverterRegistration(typeof(Point), new PointTypeConverter()),
new TypeConverterRegistration(typeof(IList<Point>), new PointsListTypeConverter()),
new TypeConverterRegistration(typeof(AvaloniaProperty), new AvaloniaPropertyTypeConverter()),
new TypeConverterRegistration(typeof(RelativePoint), new RelativePointTypeConverter()),
new TypeConverterRegistration(typeof(RelativeRect), new RelativeRectTypeConverter()),
new TypeConverterRegistration(typeof(RowDefinitions), new RowDefinitionsTypeConverter()),
new TypeConverterRegistration(typeof(Selector), new SelectorTypeConverter()),
new TypeConverterRegistration(typeof(Thickness), new ThicknessTypeConverter()),
new TypeConverterRegistration(typeof(TimeSpan), new TimeSpanTypeConverter()),
new TypeConverterRegistration(typeof(Uri), new UriTypeConverter()),
new TypeConverterRegistration(typeof(Cursor), new CursorTypeConverter())
};
typeConverterProvider.AddAll(converters);
return typeConverterProvider;
}
private static IContentPropertyProvider GetContentPropertyProvider()
{
return new AvaloniaContentPropertyProvider();
}
}
}

33
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaXamlMember.cs

@ -1,33 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Markup.Xaml.Data;
using OmniXaml;
using OmniXaml.Typing;
using System;
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
public class AvaloniaXamlMember : Member
{
public AvaloniaXamlMember(string name,
XamlType owner,
ITypeRepository xamlTypeRepository,
ITypeFeatureProvider featureProvider)
: base(name, owner, xamlTypeRepository, featureProvider)
{
}
protected override IMemberValuePlugin LookupXamlMemberValueConnector()
{
return new AvaloniaMemberValuePlugin(this);
}
public override string ToString()
{
return "Avalonia XAML Member " + base.ToString();
}
}
#endif
}

63
src/Markup/Avalonia.Markup.Xaml/Context/AvaloniaXamlType.cs

@ -1,63 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Reflection;
using OmniXaml;
using OmniXaml.Typing;
using Avalonia.Controls;
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
public class AvaloniaXamlType : XamlType
{
public AvaloniaXamlType(Type type,
ITypeRepository typeRepository,
ITypeFactory typeFactory,
ITypeFeatureProvider featureProvider) : base(type, typeRepository, typeFactory, featureProvider)
{
}
public override OmniXaml.INameScope GetNamescope(object instance)
{
var result = instance as OmniXaml.INameScope;
if (result == null)
{
var control = instance as Control;
if (control != null)
{
var avaloniaNs = (instance as Avalonia.Controls.INameScope) ?? NameScope.GetNameScope(control);
if (avaloniaNs != null)
{
result = new NameScopeWrapper(avaloniaNs);
}
}
}
return result;
}
protected override Member LookupMember(string name)
{
return new AvaloniaXamlMember(name, this, TypeRepository, FeatureProvider);
}
protected override AttachableMember LookupAttachableMember(string name)
{
// OmniXAML seems to require a getter and setter even though we don't use them.
var getter = UnderlyingType.GetTypeInfo().GetDeclaredMethod("Get" + name);
var setter = UnderlyingType.GetTypeInfo().GetDeclaredMethod("Set" + name);
return new AvaloniaAttachableXamlMember(name, this, getter, setter, TypeRepository, FeatureProvider);
}
public override string ToString()
{
return "Avalonia XAML Type " + base.ToString();
}
}
#endif
}

32
src/Markup/Avalonia.Markup.Xaml/Context/NameScopeWrapper.cs

@ -1,32 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
internal class NameScopeWrapper : OmniXaml.INameScope
{
private readonly Avalonia.Controls.INameScope _inner;
public NameScopeWrapper(Avalonia.Controls.INameScope inner)
{
_inner = inner;
}
public object Find(string name)
{
return _inner.Find(name);
}
public void Register(string name, object scopedElement)
{
_inner.Register(name, scopedElement);
}
public void Unregister(string name)
{
_inner.Unregister(name);
}
}
#endif
}

176
src/Markup/Avalonia.Markup.Xaml/Context/PropertyAccessor.cs

@ -1,176 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using OmniXaml.ObjectAssembler;
using OmniXaml.TypeConversion;
using OmniXaml.Typing;
using Avalonia.Controls;
using Avalonia.Data;
using Avalonia.Markup.Xaml.Data;
using Avalonia.Styling;
namespace Avalonia.Markup.Xaml.Context
{
#if OMNIXAML
internal static class PropertyAccessor
{
public static void SetValue(
object instance,
MutableMember member,
object value,
IValueContext context)
{
var avaloniaProperty = FindAvaloniaProperty(instance, member);
if (value is IBinding)
{
SetBinding(instance, member, avaloniaProperty, context, (IBinding)value);
}
else if (avaloniaProperty != null)
{
((AvaloniaObject)instance).SetValue(avaloniaProperty, value);
}
else if (instance is Setter && member.Name == "Value")
{
// TODO: Make this more generic somehow.
var setter = (Setter)instance;
var targetType = setter.Property.PropertyType;
var xamlType = member.TypeRepository.GetByType(targetType);
var convertedValue = default(object);
if (CommonValueConversion.TryConvert(value, xamlType, context, out convertedValue))
{
SetClrProperty(instance, member, convertedValue);
}
}
else
{
SetClrProperty(instance, member, value);
}
}
private static AvaloniaProperty FindAvaloniaProperty(object instance, MutableMember member)
{
var registry = AvaloniaPropertyRegistry.Instance;
var attached = member as AvaloniaAttachableXamlMember;
var target = instance as AvaloniaObject;
if (target == null)
{
return null;
}
if (attached == null)
{
return registry.FindRegistered(target, member.Name);
}
else
{
var ownerType = attached.DeclaringType.UnderlyingType;
RuntimeHelpers.RunClassConstructor(ownerType.TypeHandle);
return registry.GetRegistered(target)
.Where(x => x.OwnerType == ownerType && x.Name == attached.Name)
.FirstOrDefault();
}
}
private static void SetBinding(
object instance,
MutableMember member,
AvaloniaProperty property,
IValueContext context,
IBinding binding)
{
if (!(AssignBinding(instance, member, binding) ||
ApplyBinding(instance, property, context, binding)))
{
throw new InvalidOperationException(
$"Cannot assign to '{member.Name}' on '{instance.GetType()}");
}
}
private static void SetClrProperty(object instance, MutableMember member, object value)
{
if (member.IsAttachable)
{
member.Setter.Invoke(null, new[] { instance, value });
}
else
{
member.Setter.Invoke(instance, new[] { value });
}
}
private static bool AssignBinding(object instance, MutableMember member, IBinding binding)
{
var property = instance.GetType()
.GetRuntimeProperties()
.FirstOrDefault(x => x.Name == member.Name);
if (property?.GetCustomAttribute<AssignBindingAttribute>() != null)
{
property.SetValue(instance, binding);
return true;
}
return false;
}
private static bool ApplyBinding(
object instance,
AvaloniaProperty property,
IValueContext context,
IBinding binding)
{
if (property == null)
{
return false;
}
var control = instance as IControl;
if (control != null)
{
if (property != Control.DataContextProperty)
{
DelayedBinding.Add(control, property, binding);
}
else
{
control.Bind(property, binding);
}
}
else
{
// The target is not a control, so we need to find an anchor that will let us look
// up named controls and style resources. First look for the closest IControl in
// the TopDownValueContext.
object anchor = context.TopDownValueContext.StoredInstances
.Select(x => x.Instance)
.OfType<IControl>()
.LastOrDefault();
// If a control was not found, then try to find the highest-level style as the XAML
// file could be a XAML file containing only styles.
if (anchor == null)
{
anchor = context.TopDownValueContext.StoredInstances
.Select(x => x.Instance)
.OfType<IStyle>()
.FirstOrDefault();
}
((IAvaloniaObject)instance).Bind(property, binding, anchor);
}
return true;
}
}
#endif
}

46
src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaListTypeConverter.cs

@ -8,8 +8,6 @@ using Avalonia.Utilities;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
@ -42,48 +40,4 @@ namespace Avalonia.Markup.Xaml.Converters
return result;
}
}
#else
using OmniXaml.TypeConversion;
public class AvaloniaListTypeConverter<T> : 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)
{
var result = new AvaloniaList<T>();
var values = ((string)value).Split(',');
foreach (var s in values)
{
object v;
if (TypeUtilities.TryConvert(typeof(T), s, culture, out v))
{
result.Add((T)v);
}
else
{
throw new InvalidCastException($"Could not convert '{s}' to {typeof(T)}.");
}
}
return result;
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

91
src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs

@ -9,7 +9,6 @@ namespace Avalonia.Markup.Xaml.Converters
{
using Avalonia.Styling;
using Portable.Xaml;
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
using Portable.Xaml.Markup;
@ -88,94 +87,4 @@ namespace Avalonia.Markup.Xaml.Converters
}
}
}
#else
using OmniXaml;
using OmniXaml.TypeConversion;
public class AvaloniaPropertyTypeConverter : 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)
{
var s = (string)value;
string typeName;
string propertyName;
Type type;
ParseProperty(s, out typeName, out propertyName);
if (typeName == null)
{
var styleType = context.TypeRepository.GetByType(typeof(Style));
var style = (Style)context.TopDownValueContext.GetLastInstance(styleType);
type = style.Selector?.TargetType;
if (type == null)
{
throw new ParseException(
"Could not determine the target type. Please fully qualify the property name.");
}
}
else
{
type = context.TypeRepository.GetByQualifiedName(typeName)?.UnderlyingType;
if (type == null)
{
throw new ParseException($"Could not find type '{typeName}'.");
}
}
// First look for non-attached property on the type and then look for an attached property.
var property = AvaloniaPropertyRegistry.Instance.FindRegistered(type, s) ??
AvaloniaPropertyRegistry.Instance.GetAttached(type)
.FirstOrDefault(x => x.Name == propertyName);
if (property == null)
{
throw new ParseException(
$"Could not find AvaloniaProperty '{type.Name}.{propertyName}'.");
}
return property;
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
private void ParseProperty(string s, out string typeName, out string propertyName)
{
var split = s.Split('.');
if (split.Length == 1)
{
typeName = null;
propertyName = split[0];
}
else if (split.Length == 2)
{
typeName = split[0];
propertyName = split[1];
}
else
{
throw new ParseException($"Invalid property name: '{s}'.");
}
}
}
#endif
}

49
src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs

@ -8,8 +8,6 @@ using Avalonia.Platform;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
@ -36,51 +34,4 @@ namespace Avalonia.Markup.Xaml.Converters
}
}
}
#else
using OmniXaml.TypeConversion;
public class BitmapTypeConverter : 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)
{
var uri = new Uri((string)value, UriKind.RelativeOrAbsolute);
var baseUri = GetBaseUri(context);
var scheme = uri.IsAbsoluteUri ? uri.Scheme : "file";
switch (scheme)
{
case "file":
return new Bitmap((string)value);
default:
var assets = AvaloniaLocator.Current.GetService<IAssetLoader>();
return new Bitmap(assets.Open(uri, baseUri));
}
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
private Uri GetBaseUri(IValueContext context)
{
object result;
context.ParsingDictionary.TryGetValue("Uri", out result);
return result as Uri;
}
}
#endif
}

30
src/Markup/Avalonia.Markup.Xaml/Converters/BrushTypeConverter.cs

@ -8,8 +8,6 @@ using Avalonia.Media;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
@ -25,32 +23,4 @@ namespace Avalonia.Markup.Xaml.Converters
return Brush.Parse((string)value);
}
}
#else
using OmniXaml.TypeConversion;
public class BrushTypeConverter : 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)
{
return Brush.Parse((string)value);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

36
src/Markup/Avalonia.Markup.Xaml/Converters/ClassesTypeConverter.cs

@ -4,14 +4,9 @@
using System;
using System.Globalization;
using Avalonia.Controls;
using System.ComponentModel;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class ClassesTypeConverter : TypeConverter
{
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
@ -24,33 +19,4 @@ namespace Avalonia.Markup.Xaml.Converters
return new Classes(((string)value).Split(' '));
}
}
#else
using OmniXaml.TypeConversion;
public class ClassesTypeConverter : 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)
{
return new Classes(((string)value).Split(' '));
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

36
src/Markup/Avalonia.Markup.Xaml/Converters/ColorTypeConverter.cs

@ -4,13 +4,11 @@
using System;
using System.Globalization;
using Avalonia.Media;
using System.ComponentModel;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class ColorTypeConverter : TypeConverter
{
@ -24,33 +22,5 @@ namespace Avalonia.Markup.Xaml.Converters
return Color.Parse((string)value);
}
}
#else
using OmniXaml.TypeConversion;
public class ColorTypeConverter : 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)
{
return Color.Parse((string)value);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

31
src/Markup/Avalonia.Markup.Xaml/Converters/ColumnDefinitionsTypeConverter.cs

@ -7,9 +7,6 @@ using Avalonia.Controls;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class ColumnDefinitionsTypeConverter : TypeConverter
@ -24,32 +21,4 @@ namespace Avalonia.Markup.Xaml.Converters
return new ColumnDefinitions((string)value);
}
}
#else
using OmniXaml.TypeConversion;
public class ColumnDefinitionsTypeConverter : 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)
{
return new ColumnDefinitions((string)value);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

33
src/Markup/Avalonia.Markup.Xaml/Converters/CursorTypeConverter.cs

@ -7,9 +7,6 @@ using Avalonia.Input;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class CursorTypeConverter : TypeConverter
@ -25,34 +22,4 @@ namespace Avalonia.Markup.Xaml.Converters
return new Cursor(cursor);
}
}
#else
using OmniXaml.TypeConversion;
public class CursorTypeConverter : 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)
{
var cursor = (StandardCursorType)Enum.Parse(typeof (StandardCursorType), ((string) value).Trim(), true);
return new Cursor(cursor);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

63
src/Markup/Avalonia.Markup.Xaml/Converters/DateTimeTypeConverter.cs

@ -1,63 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Globalization;
using OmniXaml.TypeConversion;
namespace Avalonia.Markup.Xaml.Converters
{
#if OMNIXAML
public class DateTimeTypeConverter : ITypeConverter
{
public object ConvertFrom(IValueContext context, CultureInfo culture, object value)
{
if (culture == null)
{
throw new ArgumentNullException("culture");
}
if (value == null)
{
throw new ArgumentNullException("value");
}
DateTimeFormatInfo dateTimeFormatInfo = (DateTimeFormatInfo)culture.GetFormat(typeof(DateTimeFormatInfo));
DateTime d = DateTime.ParseExact(value.ToString(), dateTimeFormatInfo.ShortDatePattern, culture);
return d;
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
if (destinationType == null)
{
throw new ArgumentNullException("destinationType");
}
if (culture == null)
{
throw new ArgumentNullException("culture");
}
DateTime? d = value as DateTime?;
if (!d.HasValue || destinationType != typeof(string))
{
throw new NotSupportedException();
}
DateTimeFormatInfo dateTimeFormatInfo = (DateTimeFormatInfo)culture.GetFormat(typeof(DateTimeFormatInfo));
return d.Value.ToString(dateTimeFormatInfo.ShortDatePattern, culture);
}
public bool CanConvertTo(IValueContext context, Type destinationType)
{
return destinationType == typeof(string);
}
public bool CanConvertFrom(IValueContext context, Type sourceType)
{
return sourceType == typeof(string);
}
}
#endif
}

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

@ -1,44 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
namespace Avalonia.Markup.Xaml.Converters
{
#if OMNIXAML
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();
}
}
#endif
}

31
src/Markup/Avalonia.Markup.Xaml/Converters/GeometryTypeConverter.cs

@ -7,9 +7,6 @@ using Avalonia.Media;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class GeometryTypeConverter : TypeConverter
@ -24,32 +21,4 @@ namespace Avalonia.Markup.Xaml.Converters
return StreamGeometry.Parse((string)value);
}
}
#else
using OmniXaml.TypeConversion;
public class GeometryTypeConverter : 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)
{
return StreamGeometry.Parse((string)value);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

31
src/Markup/Avalonia.Markup.Xaml/Converters/GridLengthTypeConverter.cs

@ -7,9 +7,6 @@ using Avalonia.Controls;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class GridLengthTypeConverter : TypeConverter
@ -24,32 +21,4 @@ namespace Avalonia.Markup.Xaml.Converters
return GridLength.Parse((string)value, culture);
}
}
#else
using OmniXaml.TypeConversion;
public class GridLengthTypeConverter : 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)
{
return GridLength.Parse((string)value, culture);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

64
src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs

@ -9,8 +9,6 @@ using System.Globalization;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
@ -54,66 +52,4 @@ namespace Avalonia.Markup.Xaml.Converters
}
}
}
#else
using OmniXaml.TypeConversion;
using System.Reflection;
class IconTypeConverter : ITypeConverter
{
public bool CanConvertFrom(IValueContext context, Type sourceType)
{
return sourceType == typeof(string) || typeof(IBitmap).GetTypeInfo().IsAssignableFrom(sourceType.GetTypeInfo());
}
public bool CanConvertTo(IValueContext context, Type destinationType)
{
return false;
}
public object ConvertFrom(IValueContext context, CultureInfo culture, object value)
{
var path = value as string;
if (path != null)
{
return CreateIconFromPath(context, path);
}
var bitmap = value as IBitmap;
if (bitmap != null)
{
return new WindowIcon(bitmap);
}
throw new NotSupportedException();
}
private WindowIcon CreateIconFromPath(IValueContext context, string path)
{
var uri = new Uri(path, UriKind.RelativeOrAbsolute);
var baseUri = GetBaseUri(context);
var scheme = uri.IsAbsoluteUri ? uri.Scheme : "file";
switch (scheme)
{
case "file":
return new WindowIcon(path);
default:
var assets = AvaloniaLocator.Current.GetService<IAssetLoader>();
return new WindowIcon(assets.Open(uri, baseUri));
}
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
private Uri GetBaseUri(IValueContext context)
{
object result;
context.ParsingDictionary.TryGetValue("Uri", out result);
return result as Uri;
}
}
#endif
}

31
src/Markup/Avalonia.Markup.Xaml/Converters/KeyGestureConverter.cs

@ -7,9 +7,6 @@ using Avalonia.Input;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class KeyGestureConverter : TypeConverter
@ -24,32 +21,4 @@ namespace Avalonia.Markup.Xaml.Converters
return KeyGesture.Parse((string)value);
}
}
#else
using OmniXaml.TypeConversion;
class KeyGestureConverter : 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)
{
return KeyGesture.Parse((string)value);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

34
src/Markup/Avalonia.Markup.Xaml/Converters/MemberSelectorTypeConverter.cs

@ -7,9 +7,6 @@ using Avalonia.Markup.Xaml.Templates;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class MemberSelectorTypeConverter : TypeConverter
@ -27,35 +24,4 @@ namespace Avalonia.Markup.Xaml.Converters
};
}
}
#else
using OmniXaml.TypeConversion;
public class MemberSelectorTypeConverter : 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)
{
return new MemberSelector
{
MemberName = (string)value,
};
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

31
src/Markup/Avalonia.Markup.Xaml/Converters/PointTypeConverter.cs

@ -6,9 +6,6 @@ using System.Globalization;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class PointTypeConverter : TypeConverter
@ -23,32 +20,4 @@ namespace Avalonia.Markup.Xaml.Converters
return Point.Parse((string)value, culture);
}
}
#else
using OmniXaml.TypeConversion;
public class PointTypeConverter : 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)
{
return Point.Parse((string)value, culture);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

38
src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs

@ -7,9 +7,6 @@ using System.Globalization;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class PointsListTypeConverter : TypeConverter
@ -32,39 +29,4 @@ namespace Avalonia.Markup.Xaml.Converters
return result;
}
}
#else
using OmniXaml.TypeConversion;
public class PointsListTypeConverter : 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)
{
string strValue = (string)value;
string[] pointStrs = strValue.Split(new[] { ' ', '\t', '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
var result = new List<Point>(pointStrs.Length);
foreach (var pointStr in pointStrs)
{
result.Add(Point.Parse(pointStr, culture));
}
return result;
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

31
src/Markup/Avalonia.Markup.Xaml/Converters/RelativePointTypeConverter.cs

@ -6,9 +6,6 @@ using System.Globalization;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class RelativePointTypeConverter : TypeConverter
@ -23,32 +20,4 @@ namespace Avalonia.Markup.Xaml.Converters
return RelativePoint.Parse((string)value, culture);
}
}
#else
using OmniXaml.TypeConversion;
public class RelativePointTypeConverter : 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)
{
return RelativePoint.Parse((string)value, culture);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

31
src/Markup/Avalonia.Markup.Xaml/Converters/RelativeRectTypeConverter.cs

@ -6,9 +6,6 @@ using System.Globalization;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class RelativeRectTypeConverter : TypeConverter
@ -23,32 +20,4 @@ namespace Avalonia.Markup.Xaml.Converters
return RelativeRect.Parse((string)value, culture);
}
}
#else
using OmniXaml.TypeConversion;
public class RelativeRectTypeConverter : 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)
{
return RelativeRect.Parse((string)value, culture);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

31
src/Markup/Avalonia.Markup.Xaml/Converters/RowDefinitionsTypeConverter.cs

@ -7,9 +7,6 @@ using Avalonia.Controls;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class RowDefinitionsTypeConverter : TypeConverter
@ -24,32 +21,4 @@ namespace Avalonia.Markup.Xaml.Converters
return new RowDefinitions((string)value);
}
}
#else
using OmniXaml.TypeConversion;
public class RowDefinitionsTypeConverter : 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)
{
return new RowDefinitions((string)value);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

32
src/Markup/Avalonia.Markup.Xaml/Converters/SelectorTypeConverter.cs

@ -7,8 +7,6 @@ using Avalonia.Markup.Xaml.Parsers;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
@ -26,34 +24,4 @@ namespace Avalonia.Markup.Xaml.Converters
return parser.Parse((string)value);
}
}
#else
using OmniXaml.TypeConversion;
public class SelectorTypeConverter : 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)
{
var parser = new SelectorParser((t, ns) => context.TypeRepository.GetByPrefix(ns ?? "", t).UnderlyingType);
return parser.Parse((string)value);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

31
src/Markup/Avalonia.Markup.Xaml/Converters/SizeTypeConverter.cs

@ -6,9 +6,6 @@ using System.Globalization;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class SizeTypeConverter : TypeConverter
@ -23,32 +20,4 @@ namespace Avalonia.Markup.Xaml.Converters
return Size.Parse((string)value, culture);
}
}
#else
using OmniXaml.TypeConversion;
public class SizeTypeConverter : 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)
{
return Size.Parse((string)value, culture);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

31
src/Markup/Avalonia.Markup.Xaml/Converters/ThicknessTypeConverter.cs

@ -6,9 +6,6 @@ using System.Globalization;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class ThicknessTypeConverter : TypeConverter
@ -23,32 +20,4 @@ namespace Avalonia.Markup.Xaml.Converters
return Thickness.Parse((string)value, culture);
}
}
#else
using OmniXaml.TypeConversion;
public class ThicknessTypeConverter : 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)
{
return Thickness.Parse((string)value, culture);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

40
src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs

@ -6,9 +6,6 @@ using System.Globalization;
namespace Avalonia.Markup.Xaml.Converters
{
#if !OMNIXAML
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
public class TimeSpanTypeConverter : System.ComponentModel.TimeSpanConverter
@ -31,41 +28,4 @@ namespace Avalonia.Markup.Xaml.Converters
return base.ConvertFrom(context, culture, value);
}
}
#else
using OmniXaml.TypeConversion;
using Avalonia.Media;
public class TimeSpanTypeConverter : 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)
{
var valueStr = (string)value;
if (!valueStr.Contains(":"))
{
// shorthand seconds format (ie. "0.25")
var secs = double.Parse(valueStr, CultureInfo.InvariantCulture);
return TimeSpan.FromSeconds(secs);
}
return TimeSpan.Parse(valueStr);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

34
src/Markup/Avalonia.Markup.Xaml/Converters/UriTypeConverter.cs

@ -1,34 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Globalization;
using OmniXaml.TypeConversion;
namespace Avalonia.Markup.Xaml.Converters
{
#if OMNIXAML
public class UriTypeConverter : 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)
{
return new Uri((string)value);
}
public object ConvertTo(IValueContext context, CultureInfo culture, object value, Type destinationType)
{
throw new NotImplementedException();
}
}
#endif
}

29
src/Markup/Avalonia.Markup.Xaml/Data/SourceBindingEndpoint.cs

@ -1,29 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.ComponentModel;
namespace Avalonia.Markup.Xaml.Data
{
#if OMNIXAML
public class SourceBindingEndpoint
{
public Type PropertyType { get; }
public INotifyPropertyChanged Source { get; }
public dynamic PropertyGetter { get; }
public Delegate PropertySetter { get; }
public SourceBindingEndpoint(INotifyPropertyChanged source, Type propertyType, dynamic propertyGetter, Delegate propertySetter)
{
Source = source;
PropertyType = propertyType;
PropertyGetter = propertyGetter;
PropertySetter = propertySetter;
}
}
#endif
}

20
src/Markup/Avalonia.Markup.Xaml/Data/TargetBindingEndpoint.cs

@ -1,20 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
namespace Avalonia.Markup.Xaml.Data
{
#if OMNIXAML
public class TargetBindingEndpoint
{
public AvaloniaObject Object { get; }
public AvaloniaProperty Property { get; }
public TargetBindingEndpoint(AvaloniaObject obj, AvaloniaProperty property)
{
Object = obj;
Property = property;
}
}
#endif
}

42
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/BindingExtension.cs

@ -7,8 +7,6 @@ using System;
namespace Avalonia.Markup.Xaml.MarkupExtensions
{
#if !OMNIXAML
using Portable.Xaml.Markup;
using PortableXaml;
@ -60,44 +58,4 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions
public RelativeSource RelativeSource { get; set; }
}
#else
using OmniXaml;
public class BindingExtension : MarkupExtension
{
public BindingExtension()
{
}
public BindingExtension(string path)
{
Path = path;
}
public override object ProvideValue(MarkupExtensionContext extensionContext)
{
return new Binding
{
Converter = Converter,
ConverterParameter = ConverterParameter,
ElementName = ElementName,
FallbackValue = FallbackValue,
Mode = Mode,
Path = Path,
Priority = Priority,
};
}
public IValueConverter Converter { get; set; }
public object ConverterParameter { get; set; }
public string ElementName { get; set; }
public object FallbackValue { get; set; } = AvaloniaProperty.UnsetValue;
public BindingMode Mode { get; set; }
public string Path { get; set; }
public BindingPriority Priority { get; set; } = BindingPriority.LocalValue;
public object Source { get; set; }
}
#endif
}

29
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/RelativeSourceExtension.cs

@ -5,8 +5,6 @@ using Avalonia.Markup.Xaml.Data;
namespace Avalonia.Markup.Xaml.MarkupExtensions
{
#if !OMNIXAML
using Portable.Xaml.Markup;
using System;
@ -32,31 +30,4 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions
[ConstructorArgument("mode")]
public RelativeSourceMode Mode { get; set; }
}
#else
using OmniXaml;
public class RelativeSourceExtension : MarkupExtension
{
public RelativeSourceExtension()
{
}
public RelativeSourceExtension(RelativeSourceMode mode)
{
Mode = mode;
}
public override object ProvideValue(MarkupExtensionContext extensionContext)
{
return new RelativeSource
{
Mode = Mode,
};
}
public RelativeSourceMode Mode { get; set; }
}
#endif
}

88
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/Standard/StaticExtension.cs

@ -1,88 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Linq;
using System.Reflection;
using OmniXaml;
using Glass.Core;
namespace Avalonia.Markup.Xaml.MarkupExtensions.Standard
{
#if OMNIXAML
public class StaticExtension : MarkupExtension
{
public StaticExtension()
{
}
public StaticExtension(string identifier)
{
Identifier = identifier;
}
public string Identifier { get; set; }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext)
{
var typeRepository = markupExtensionContext.ValueContext.TypeRepository;
var typeAndMember = GetTypeAndMember(Identifier);
var prefixAndType = GetPrefixAndType(typeAndMember.Item1);
var xamlType = typeRepository.GetByPrefix(prefixAndType.Item1, prefixAndType.Item2);
return GetValue(xamlType.UnderlyingType, typeAndMember.Item2);
}
private static Tuple<string, string> GetTypeAndMember(string s)
{
var parts = s.Split('.');
if (parts.Length != 2)
{
throw new ArgumentException("Static member must be in the form Type.Member.");
}
return Tuple.Create(parts[0], parts[1]);
}
private static Tuple<string, string> GetPrefixAndType(string s)
{
if (s.Contains(":"))
{
return s.Dicotomize(':');
}
else
{
return new Tuple<string, string>(string.Empty, s);
}
}
private object GetValue(Type type, string name)
{
var t = type;
while (t != null)
{
var result = t.GetTypeInfo().DeclaredMembers.FirstOrDefault(x => x.Name == name);
if (result is PropertyInfo)
{
var property = ((PropertyInfo)result);
if (property.GetMethod.IsStatic)
{
return ((PropertyInfo)result).GetValue(null);
}
}
else if (result is FieldInfo)
{
return ((FieldInfo)result).GetValue(null);
}
t = t.GetTypeInfo().BaseType;
}
throw new ArgumentException($"Static member '{type}.{name}' not found.");
}
}
#endif
}

51
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/Standard/TypeExtension.cs

@ -1,51 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using OmniXaml;
using OmniXaml.Attributes;
using OmniXaml.Typing;
using Glass.Core;
namespace Avalonia.Markup.Xaml.MarkupExtensions.Standard
{
#if OMNIXAML
[ContentProperty("TargetType")]
public class TypeExtension : MarkupExtension
{
public Type Type { get; set; }
public TypeExtension()
{
}
public TypeExtension(Type type)
{
Type = type;
}
public string TypeName { get; set; }
private Type ResolveFromString(string type, ITypeRepository typeRepository)
{
Guard.ThrowIfNull(type, nameof(type));
var split = type.Split(':');
var prefix = split.Length == 1 ? split[0] : null;
var typeName = split.Length == 1 ? split[1] : split[0];
var xamlType = typeRepository.GetByPrefix(prefix, typeName);
return xamlType.UnderlyingType;
}
public override object ProvideValue(MarkupExtensionContext markupExtensionContext)
{
if (Type != null)
{
return Type;
}
return ResolveFromString(TypeName, markupExtensionContext.ValueContext.TypeRepository);
}
}
#endif
}

86
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticExtension.cs

@ -5,8 +5,6 @@ using System;
namespace Avalonia.Markup.Xaml.MarkupExtensions
{
#if !OMNIXAML
public class StaticExtension : Portable.Xaml.Markup.StaticExtension
{
public StaticExtension()
@ -23,87 +21,5 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions
return base.ProvideValue(serviceProvider);
}
}
#else
using System.Linq;
using System.Reflection;
using OmniXaml;
using Glass.Core;
public class StaticExtension : MarkupExtension
{
public StaticExtension()
{
}
public StaticExtension(string identifier)
{
Identifier = identifier;
}
public string Identifier { get; set; }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext)
{
var typeRepository = markupExtensionContext.ValueContext.TypeRepository;
var typeAndMember = GetTypeAndMember(Identifier);
var prefixAndType = GetPrefixAndType(typeAndMember.Item1);
var xamlType = typeRepository.GetByPrefix(prefixAndType.Item1, prefixAndType.Item2);
return GetValue(xamlType.UnderlyingType, typeAndMember.Item2);
}
private static Tuple<string, string> GetTypeAndMember(string s)
{
var parts = s.Split('.');
if (parts.Length != 2)
{
throw new ArgumentException("Static member must be in the form Type.Member.");
}
return Tuple.Create(parts[0], parts[1]);
}
private static Tuple<string, string> GetPrefixAndType(string s)
{
if (s.Contains(":"))
{
return s.Dicotomize(':');
}
else
{
return new Tuple<string, string>(string.Empty, s);
}
}
private object GetValue(Type type, string name)
{
var t = type;
while (t != null)
{
var result = t.GetTypeInfo().DeclaredMembers.FirstOrDefault(x => x.Name == name);
if (result is PropertyInfo)
{
var property = ((PropertyInfo)result);
if (property.GetMethod.IsStatic)
{
return ((PropertyInfo)result).GetValue(null);
}
}
else if (result is FieldInfo)
{
return ((FieldInfo)result).GetValue(null);
}
t = t.GetTypeInfo().BaseType;
}
throw new ArgumentException($"Static member '{type}.{name}' not found.");
}
}
#endif
}

5
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs

@ -20,13 +20,8 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions
public override object ProvideValue(IServiceProvider serviceProvider)
{
#if !OMNIXAML
var tdc = (ITypeDescriptorContext)serviceProvider;
return new StyleInclude(tdc.GetBaseUri()) { Source = Source };
#else
throw new NotImplementedException("Just to support some time Omnixaml Compile!");
#endif
}
public Uri Source { get; set; }

22
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleResourceExtension.cs

@ -7,8 +7,6 @@ using System;
namespace Avalonia.Markup.Xaml.MarkupExtensions
{
#if !OMNIXAML
using Portable.Xaml.Markup;
using PortableXaml;
@ -30,24 +28,4 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions
[ConstructorArgument("name")]
public string Name { get; set; }
}
#else
using OmniXaml;
public class StyleResourceExtension : MarkupExtension
{
public StyleResourceExtension(string name)
{
Name = name;
}
public override object ProvideValue(MarkupExtensionContext extensionContext)
{
return new StyleResourceBinding(this.Name);
}
public string Name { get; set; }
}
#endif
}

39
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/TemplateBindingExtension.cs

@ -6,8 +6,6 @@ using Avalonia.Markup.Xaml.Data;
namespace Avalonia.Markup.Xaml.MarkupExtensions
{
#if !OMNIXAML
using System;
using Portable.Xaml.Markup;
@ -49,41 +47,4 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions
public BindingPriority Priority { get; set; } = BindingPriority.TemplatedParent;
}
#else
using OmniXaml;
public class TemplateBindingExtension : MarkupExtension
{
public TemplateBindingExtension()
{
}
public TemplateBindingExtension(string path)
{
Path = path;
}
public override object ProvideValue(MarkupExtensionContext extensionContext)
{
return new Binding
{
Converter = Converter,
ElementName = ElementName,
Mode = Mode,
RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent),
Path = Path,
Priority = Priority,
};
}
public IValueConverter Converter { get; set; }
public string ElementName { get; set; }
public object FallbackValue { get; set; }
public BindingMode Mode { get; set; }
public string Path { get; set; }
public BindingPriority Priority { get; set; } = BindingPriority.TemplatedParent;
}
#endif
}

50
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/TypeExtension.cs

@ -5,8 +5,6 @@ using System;
namespace Avalonia.Markup.Xaml.MarkupExtensions
{
#if !OMNIXAML
public class TypeExtension : Portable.Xaml.Markup.TypeExtension
{
public TypeExtension()
@ -22,52 +20,4 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions
return base.ProvideValue(serviceProvider);
}
}
#else
using System;
using OmniXaml;
using OmniXaml.Attributes;
using OmniXaml.Typing;
using Glass.Core;
[ContentProperty("TargetType")]
public class TypeExtension : MarkupExtension
{
public Type Type { get; set; }
public TypeExtension()
{
}
public TypeExtension(Type type)
{
Type = type;
}
public string TypeName { get; set; }
private Type ResolveFromString(string type, ITypeRepository typeRepository)
{
Guard.ThrowIfNull(type, nameof(type));
var split = type.Split(':');
var prefix = split.Length == 1 ? split[0] : null;
var typeName = split.Length == 1 ? split[1] : split[0];
var xamlType = typeRepository.GetByPrefix(prefix, typeName);
return xamlType.UnderlyingType;
}
public override object ProvideValue(MarkupExtensionContext markupExtensionContext)
{
if (Type != null)
{
return Type;
}
return ResolveFromString(TypeName, markupExtensionContext.ValueContext.TypeRepository);
}
}
#endif
}

1
src/Markup/Avalonia.Markup.Xaml/OmniXAML

@ -1 +0,0 @@
Subproject commit 544af79d218127b4174da4be19896c5ca78eaa5d

73
src/Markup/Avalonia.Markup.Xaml/OmniXamlCompileStubs.cs

@ -1,73 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
#if !OMNIXAML
namespace OmniXaml
{
interface ITypeProvider
{
}
class TypeNotFoundException : Exception
{
public TypeNotFoundException(string m) : base(m)
{
}
}
}
namespace OmniXaml.Typing
{
class Stub
{
}
}
namespace OmniXaml.TypeConversion
{
class Stub
{
}
}
namespace OmniXaml.Builder
{
class Stub
{
}
}
namespace OmniXaml.ObjectAssembler.Commands
{
class Stub
{
}
}
namespace OmniXaml.Parsers.ProtoParser
{
class Stub
{
}
}
namespace OmniXaml.Parsers.Parser
{
class Stub
{
}
}
namespace OmniXaml.Attributes
{
class Stub
{
}
}
namespace Glass
{
class Stub
{
}
}
namespace Glass.Core
{
class Stub
{
}
}
#endif

13
src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs

@ -18,25 +18,12 @@ namespace Avalonia.Markup.Xaml.Styling
/// Initializes a new instance of the <see cref="StyleInclude"/> class.
/// </summary>
/// <param name="baseUri"></param>
#if OMNIXAML
public StyleInclude()
{
// StyleInclude will usually be loaded from XAML and its URI can be relative to the
// XAML file that its included in, so store the current XAML file's URI if any as
// a base URI.
_baseUri = AvaloniaXamlLoader.UriContext;
}
#else
public StyleInclude(Uri baseUri)
{
_baseUri = baseUri;
}
#endif
/// <summary>
/// Gets or sets the source URL.
/// </summary>

39
src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs

@ -6,7 +6,6 @@ using System.Collections.Generic;
namespace Avalonia.Markup.Xaml.Templates
{
#if !OMNIXAML
using Portable.Xaml;
public class TemplateContent
@ -37,42 +36,4 @@ namespace Avalonia.Markup.Xaml.Templates
return ((TemplateContent)templateContent).Load();
}
}
#else
using Avalonia.Markup.Xaml.Context;
using OmniXaml;
using OmniXaml.ObjectAssembler;
public class TemplateContent
{
private readonly IEnumerable<Instruction> nodes;
private readonly IRuntimeTypeSource runtimeTypeSource;
public TemplateContent(IEnumerable<Instruction> nodes, IRuntimeTypeSource runtimeTypeSource)
{
this.nodes = nodes;
this.runtimeTypeSource = runtimeTypeSource;
}
public Control Load()
{
var assembler = new AvaloniaObjectAssembler(
runtimeTypeSource,
new TopDownValueContext());
foreach (var xamlNode in nodes)
{
assembler.Process(xamlNode);
}
return (Control)assembler.Result;
}
public static IControl Load(object templateContent)
{
return ((TemplateContent)templateContent).Load();
}
}
#endif
}

17
src/Markup/Avalonia.Markup.Xaml/Templates/TemplateLoader.cs

@ -3,8 +3,6 @@
namespace Avalonia.Markup.Xaml.Templates
{
#if !OMNIXAML
using Portable.Xaml;
using Portable.Xaml.ComponentModel;
using System.ComponentModel;
@ -24,19 +22,4 @@ namespace Avalonia.Markup.Xaml.Templates
return ((TemplateContent)value).List.GetReader();
}
}
#else
using System.Collections.Generic;
using OmniXaml;
public class TemplateLoader : IDeferredLoader
{
public object Load(IEnumerable<Instruction> nodes, IRuntimeTypeSource runtimeTypeSource)
{
return new TemplateContent(nodes, runtimeTypeSource);
}
}
#endif
}

1
src/Markup/Avalonia.Markup.Xaml/glass

@ -1 +0,0 @@
Subproject commit 9e17adbd3ac0b342e7922ee2d5a11e5d50b7e687

7
tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj

@ -3,13 +3,6 @@
<TargetFrameworks>net461;netcoreapp1.1</TargetFrameworks>
<OutputType>Library</OutputType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugOmniXaml|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>TRACE;DEBUG;OMNIXAML</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<Import Project="..\..\build\UnitTests.NetCore.targets" />
<Import Project="..\..\build\Moq.props" />
<Import Project="..\..\build\XUnit.props" />

28
tests/Avalonia.Markup.Xaml.UnitTests/Context/AvaloniaNamespaceRegistryTest.cs

@ -1,28 +0,0 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Markup.Xaml.Context;
using Xunit;
namespace Avalonia.Markup.Xaml.UnitTests.Context
{
#if OMNIXAML
public class AvaloniaNamespaceRegistryTest
{
[Fact]
public void Should_Return_Same_ClrNameSpace()
{
string name = "clr-namespace:Avalonia.Markup.Xaml.UnitTests.Context;assembly=Avalonia.Markup.Xaml.UnitTests";
var target = new AvaloniaNamespaceRegistry();
var ns1 = target.GetNamespace(name);
var ns2 = target.GetNamespace(name);
//AvaloniaNamespaceRegistry should not create new CreateClrNamespace
//for the same namespace
Assert.Same(ns1, ns2);
}
}
#endif
}

33
tests/Avalonia.Markup.Xaml.UnitTests/Converters/AvaloniaPropertyConverterTest.cs

@ -7,22 +7,11 @@ using Avalonia.Collections;
using Avalonia.Markup.Xaml.Converters;
using Avalonia.Styling;
using Xunit;
#if !OMNIXAML
using System.ComponentModel;
using Portable.Xaml.ComponentModel;
using Portable.Xaml;
using Portable.Xaml.Markup;
#else
using OmniXaml;
using OmniXaml.ObjectAssembler.Commands;
using OmniXaml.TypeConversion;
using OmniXaml.Typing;
#endif
namespace Avalonia.Markup.Xaml.UnitTests.Converters
{
public class AvaloniaPropertyConverterTest
@ -64,8 +53,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Converters
Assert.Equal(AttachedOwner.AttachedProperty, result);
}
#if !OMNIXAML
private ITypeDescriptorContext CreateContext(Style style = null)
{
var tdMock = new Mock<ITypeDescriptorContext>();
@ -94,25 +82,6 @@ namespace Avalonia.Markup.Xaml.UnitTests.Converters
return tdMock.Object;
}
#else
private IValueContext CreateContext(Style style = null)
{
var context = new Mock<IValueContext>();
var topDownValueContext = new Mock<ITopDownValueContext>();
var typeRepository = new Mock<ITypeRepository>();
var featureProvider = new Mock<ITypeFeatureProvider>();
var class1XamlType = new XamlType(typeof(Class1), typeRepository.Object, null, featureProvider.Object);
var attachedOwnerXamlType = new XamlType(typeof(AttachedOwner), typeRepository.Object, null, featureProvider.Object);
context.Setup(x => x.TopDownValueContext).Returns(topDownValueContext.Object);
context.Setup(x => x.TypeRepository).Returns(typeRepository.Object);
topDownValueContext.Setup(x => x.GetLastInstance(It.IsAny<XamlType>())).Returns(style);
typeRepository.Setup(x => x.GetByQualifiedName("Class1")).Returns(class1XamlType);
typeRepository.Setup(x => x.GetByQualifiedName("AttachedOwner")).Returns(attachedOwnerXamlType);
return context.Object;
}
#endif
private class Class1 : AvaloniaObject, IStyleable
{

5
tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs

@ -711,14 +711,11 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
}
}
#if OMNIXAML
[Fact]
#else
[Fact(Skip =
@"Doesn't work with Portable.xaml, it's working in different creation order -
Handled in test 'Control_Is_Added_To_Parent_Before_Final_EndInit'
do we need it?")]
#endif
public void Control_Is_Added_To_Parent_Before_Properties_Are_Set()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))

5
tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BindingTests.cs

@ -147,11 +147,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
}
}
#if OMNIXAML
[Fact(Skip = "OmniXaml doesn't support nested markup extensions. #119")]
#else
[Fact]
#endif
public void Binding_To_Self_Works()
{
using (UnitTestApplication.Start(TestServices.MockWindowingPlatform))

Loading…
Cancel
Save