Browse Source
Support the DataType property in a binding in the DataContext property.
pull/7248/head
Jeremy Koritzinsky
5 years ago
No known key found for this signature in database
GPG Key ID: 25A7D1C8126B7A16
1 changed files with
6 additions and
0 deletions
-
src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlDataContextTypeTransformer.cs
|
|
|
@ -155,6 +155,12 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers |
|
|
|
{ |
|
|
|
Func<IXamlType> startTypeResolver = () => |
|
|
|
{ |
|
|
|
var dataTypeProperty = obj.Children.OfType<XamlPropertyAssignmentNode>().FirstOrDefault(c => c.Property.Name == "DataType"); |
|
|
|
if (dataTypeProperty?.Values.Count is 1 && dataTypeProperty.Values[0] is XamlAstTextNode text) |
|
|
|
{ |
|
|
|
return TypeReferenceResolver.ResolveType(context, text.Text, isMarkupExtension: false, text, strict: true).Type; |
|
|
|
} |
|
|
|
|
|
|
|
var parentDataContextNode = context.ParentNodes().OfType<AvaloniaXamlIlDataContextTypeMetadataNode>().FirstOrDefault(); |
|
|
|
if (parentDataContextNode is null) |
|
|
|
{ |
|
|
|
|