* use a BP for QueryAttributes (#6569)
* use a BP for QueryAttributes
* Update Xamarin.Forms.Core/Shell/ShellContent.cs
* Allow tracking of StyleSheets (#6502)
* remove excess code and clean up sandbox (#6503)
* Allow tracking of StyleSheets
* ¯\_(ツ)_/¯
* [Build] Remove submodule
* [Build] Use GitInfo to set Assembly metadata
* [Build] Remove extra prop
* [Build] Update version
* [Build] Update versions to be consistent with existing Build.Tasks
* [Build] Update build number
* [Build] make sure build tasks gets info
* [Build] Add assembly info unit test
* [Test] Refactor test for gitinfo on vsts
In case of value types in Compiled Binding Paths, we weren't checking
for null property on the right part of the path
before
```csharp
bindingExtension.TypedBinding = new TypedBinding<Gh5770, Color>(delegate(Gh5770 gh)
{
if (gh == null)
{
return new ValueTuple<Color, bool>(default(Color), false);
}
Gh5770VM expr_24 = gh.MyContentViewModel;
return new ValueTuple<Color, bool>(expr_24.TextColor, true);
}, ..., ...);
```
after
```csharp
bindingExtension.TypedBinding = new TypedBinding<Gh5770, Color>(delegate(Gh5770 gh)
{
if (gh == null)
{
return new ValueTuple<Color, bool>(default(Color), false);
}
Gh5770VM expr_24 = gh.MyContentViewModel;
if (expr_24 == null)
{
return new ValueTuple<Color, bool>(default(Color), false);
}
return new ValueTuple<Color, bool>(expr_24.TextColor, true);
}, ..., ...);
```
- fixes#5770
The old implementation fails to identify generic instance types for typed
binding getter, whose type is:
System.Func`2<TSource, ValueTuple<TProperty, bool>>
This fixes the issue by taking generic arguments into account.
The old implementation fails to identify generic instance types for typed
binding getter, whose type is:
System.Func`2<TSource, ValueTuple<TProperty, bool>>
This fixes the issue by taking generic arguments into account.
avoid InvalidCastException if an event is overriden with the new keyword
to a bindableproperty. Kids, DO NOT EVER DO THIS AT HOME.
- fixes#5256 for XamlC
An alternate xaml resource file provider can request the XamlLoader to
_not_ ignore normally ignored properties in prebuilt XF design xmlns, as
in the following snippet:
```xaml
<ContentPage
xmlns="http://xamarin.com/schemas/2014/forms""
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml""
xmlns:d="http://xamarin.com/schemas/2014/forms/design""
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006""
mc:Ignorable="d"">
<Label d:Text="Bar" Text="Foo" x:Name="label" />
</ContentPage>
```
The `d:` should be the prefix used by default for this, but any other
prefix will do too.
The `d:Text` property maps to the exact same property as `Text`, as the
XmllnsDefinitionAttributes are identical (that's convenient from a Intelisense
point of view), but, when (and only when) instructed by a provided Xaml resource
loader, the `d:Text` will override the `Text` property.
This works with virtually all properties defined on built-in Xamarin.Forms
controls, but it doesn't mean it's a sane idea to try to assign design value
to all existing properties.
The APi ofr setting the ResourceLoader had to change, and instead of taking
pre-defined arguments, it accepts and returns query and response types. This
is slightly less convenient to invoke through reflection, but way more easy
to extend in the future.
* [X] throw XPE on missing element .ctor
In case of runtime parse, wrap the MissingMethodException in a
XamlParseException, to get lineInfo. In case of XamlC, detect missing
constructor and fail early.
- fixes#4751
* fix for ns1.0
new exception being thrown:
>Xamarin.Forms.Xaml.XamlParseException : Position 7:4. Unexpected empty element '<Grid.ColumnDefinitions/>'
also reduce the number of places we resolve lineInfo for exceptions
purposes
- fixes#4553
* [XamlC] Compile the {DataTemplate} markup
- fixes#4592
* [C] throw XPE on missing mandatory member
TypeName for {Type} and {DataTemplate} markup extensions is mandatory.
Throw a XamlParseException, with context, when that happens.
* fix style
* (ab)use of nameof
* [XamlC] test for null in Binding paths
Instead of relying on a NRE behing thrown while trying to evaluate a
compiled binding getter, detect the null value and fail faster, without
throwing. This require changing the type of the getter so they return a
(TProperty, bool) value tuple indicating the success.
- fixes#4102
* depend on ValueTuple for ns1.0
* [tasks] avoid passing dupe assemblies to Cecil
avoid feeding Mono.Cecil with dupes. Removes a negligeable handful
of milliseconds (100ms on average, hard to measure) from XamlC. Even
less from XamlG.
- fixes#4620
* add extra check