Skip to content

[2025/04/21] Candidate - In Flight Branch #29037

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Apr 23, 2025
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
39caefa
[Windows] - Fix Visual State Issue with Picker TextColor After Naviga…
prakashKannanSf3972 Apr 8, 2025
bf27f69
[iOS] Fixed the TargetInvocationException Occurs When Selecting Heade…
Ahamed-Ali Apr 11, 2025
12d2d5e
[iOS] - Resolved Proper Rendering of Dynamic Header/Footer Updates in…
prakashKannanSf3972 Apr 11, 2025
0987b16
[Android] Fixed ScalingCanvas.SetBlur not working (#28911)
NirmalKumarYuvaraj Apr 11, 2025
a009f76
[Windows] Upgrade to Windows App SDK 1.7 (#28499)
MartyIX Apr 11, 2025
9e2cbac
[iOS] Fix FlyoutPage does not respond to changes in the FlyoutLayoutB…
devanathan-vaithiyanathan Apr 11, 2025
0a240f9
[Android] Fixed the Incorrect Text Color Applied to Selected Tab in T…
Ahamed-Ali Apr 11, 2025
624223c
[iOS] Fix for the File.ContentType from MediaPicker not being in vali…
SyedAbdulAzeemSF4852 Apr 11, 2025
57f7f4d
[XC] add IRootObjectProvider (#28310)
StephaneDelcroix Apr 11, 2025
dfeadeb
[Android] picker - focus/unfocus events (#28122)
kubaflo Apr 16, 2025
9576008
[Windows] Fixed the flyout content width not being set correctly afte…
Tamilarasan-Paranthaman Apr 16, 2025
1fb5164
Revert "[Android] picker - focus/unfocus events (#28122)"
PureWeen Apr 16, 2025
16cd5f2
Fixed Test case failure in PR 29037 - [2025/04/21] Candidate (#29049)
HarishKumarSF4517 Apr 21, 2025
76baabc
Fix CarouselView layout SR6 regressions (#29035)
albyrock87 Apr 22, 2025
b1c026c
[Testing] Feature Matrix UITest Cases for CollectionView EmptyView Fe…
NafeelaNazhir Apr 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
<MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion>9.0.0</MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion>
<MicrosoftNETWorkloadEmscriptenPackageVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion)</MicrosoftNETWorkloadEmscriptenPackageVersion>
<!-- wasdk -->
<MicrosoftWindowsAppSDKPackageVersion>1.6.250228001</MicrosoftWindowsAppSDKPackageVersion>
<MicrosoftWindowsAppSDKPackageVersion>1.7.250401001</MicrosoftWindowsAppSDKPackageVersion>
<MicrosoftWindowsSDKBuildToolsPackageVersion>10.0.22621.756</MicrosoftWindowsSDKBuildToolsPackageVersion>
<MicrosoftGraphicsWin2DPackageVersion>1.2.0</MicrosoftGraphicsWin2DPackageVersion>
<MicrosoftWindowsWebView2PackageVersion>1.0.2903.40</MicrosoftWindowsWebView2PackageVersion>
Expand Down
29 changes: 26 additions & 3 deletions src/Controls/src/Build.Tasks/NodeILExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -625,7 +625,8 @@ public static IEnumerable<Instruction> PushServiceProvider(this INode node, ILCo
//Add a SimpleValueTargetProvider and register it as IProvideValueTarget, IReferenceProvider and IProvideParentValues
if (createAllServices
|| requiredServices.Contains(module.ImportReference(context.Cache, ("Microsoft.Maui.Controls", "Microsoft.Maui.Controls.Xaml", "IProvideParentValues")), TypeRefComparer.Default)
|| requiredServices.Contains(module.ImportReference(context.Cache, ("Microsoft.Maui.Controls", "Microsoft.Maui.Controls.Xaml", "IReferenceProvider")), TypeRefComparer.Default))
|| requiredServices.Contains(module.ImportReference(context.Cache, ("Microsoft.Maui.Controls", "Microsoft.Maui.Controls.Xaml", "IReferenceProvider")), TypeRefComparer.Default)
|| requiredServices.Contains(module.ImportReference(context.Cache, ("Microsoft.Maui.Controls", "Microsoft.Maui.Controls.Xaml", "IRootObjectProvider")), TypeRefComparer.Default))
{
alreadyContainsProvideValueTarget = true;
var pushParentIl = node.PushParentObjectsArray(context).ToList();
Expand All @@ -644,9 +645,25 @@ public static IEnumerable<Instruction> PushServiceProvider(this INode node, ILCo
foreach (var instruction in PushNamescopes(node, context, module))
yield return instruction;

yield return Create(Ldc_I4_0); //don't ask
//rootObject
if (context.Root is VariableDefinition rootVariable)
yield return Create(Ldloc, rootVariable);
else if (context.Root is FieldReference rootField)
{
yield return Create(Ldarg_0);
yield return Create(Ldfld, rootField);
}
else
yield return Create(Ldnull);

yield return Create(Newobj, module.ImportCtorReference(context.Cache,
("Microsoft.Maui.Controls.Xaml", "Microsoft.Maui.Controls.Xaml.Internals", "SimpleValueTargetProvider"), paramCount: 4));
type: ("Microsoft.Maui.Controls.Xaml", "Microsoft.Maui.Controls.Xaml.Internals", "SimpleValueTargetProvider"),
parameterTypes: [
("mscorlib", "System", "Object[]"),
("mscorlib", "System", "Object"),
("Microsoft.Maui.Controls", "Microsoft.Maui.Controls.Internals", "INameScope[]"),
("mscorlib", "System", "Object"),
]));

//store the provider so we can register it again with a different key
yield return Create(Dup);
Expand All @@ -660,6 +677,12 @@ public static IEnumerable<Instruction> PushServiceProvider(this INode node, ILCo
yield return Create(Call, module.ImportMethodReference(context.Cache, ("mscorlib", "System", "Type"), methodName: "GetTypeFromHandle", parameterTypes: new[] { ("mscorlib", "System", "RuntimeTypeHandle") }, isStatic: true));
yield return Create(Ldloc, refProvider);
yield return Create(Callvirt, addService);

yield return Create(Dup); //Keep the serviceProvider on the stack
yield return Create(Ldtoken, module.ImportReference(context.Cache, ("Microsoft.Maui.Controls", "Microsoft.Maui.Controls.Xaml", "IRootObjectProvider")));
yield return Create(Call, module.ImportMethodReference(context.Cache, ("mscorlib", "System", "Type"), methodName: "GetTypeFromHandle", parameterTypes: new[] { ("mscorlib", "System", "RuntimeTypeHandle") }, isStatic: true));
yield return Create(Ldloc, refProvider);
yield return Create(Callvirt, addService);
}
}

Expand Down
10 changes: 8 additions & 2 deletions src/Controls/src/Build.Tasks/XamlCache.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using Microsoft.Maui.Controls.XamlC;
using Mono.Cecil;
using Mono.Cecil.Cil;
using Mono.Cecil.Rocks;

namespace Microsoft.Maui.Controls.Build.Tasks;

Expand Down Expand Up @@ -38,8 +39,13 @@ public TypeDefinition Resolve(TypeReference typeReference) =>
public FieldReference GetOrAddFieldReference((ModuleDefinition module, string fieldRefKey) key, Func<(ModuleDefinition module, string fieldRefKey), FieldReference> valueFactory) =>
GetOrAdd(_fieldReferenceCache, key, valueFactory);

public TypeReference GetOrAddTypeReference(ModuleDefinition module, (string assemblyName, string clrNamespace, string typeName) type) =>
GetOrAdd(_typeReferenceCache, (module, type.ToString()), x => x.module.ImportReference(x.module.GetTypeDefinition(this, type)));
public TypeReference GetOrAddTypeReference(ModuleDefinition module, (string assemblyName, string clrNamespace, string typeName) type) => GetOrAdd(_typeReferenceCache, (module, type.ToString()), x =>
{
if (type.typeName.EndsWith("[]", StringComparison.InvariantCultureIgnoreCase))
return x.module.GetTypeDefinition(this, (type.assemblyName, type.clrNamespace, type.typeName.Substring(0, type.typeName.Length-2))).MakeArrayType();
else
return x.module.ImportReference(x.module.GetTypeDefinition(this, type));
});

public TypeReference GetOrAddTypeReference(ModuleDefinition module, string typeKey, Func<(ModuleDefinition module, string typeKey), TypeReference> valueFactory) =>
GetOrAdd(_typeReferenceCache, (module, typeKey), valueFactory);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,8 @@ void HandlePropertyChanged(object sender, PropertyChangedEventArgs e)
UpdateBackground();
else if (e.PropertyName == PlatformConfiguration.iOSSpecific.FlyoutPage.ApplyShadowProperty.PropertyName)
UpdateApplyShadow(((FlyoutPage)Element).OnThisPlatform().GetApplyShadow());
else if (e.PropertyName == Microsoft.Maui.Controls.FlyoutPage.FlyoutLayoutBehaviorProperty.PropertyName)
UpdateFlyoutLayoutBehaviorChanges();
else if (e.PropertyName == PlatformConfiguration.iOSSpecific.Page.PrefersHomeIndicatorAutoHiddenProperty.PropertyName ||
e.PropertyName == PlatformConfiguration.iOSSpecific.Page.PrefersStatusBarHiddenProperty.PropertyName)
UpdatePageSpecifics();
Expand Down Expand Up @@ -476,6 +478,25 @@ void LayoutChildren(bool animated)
UpdateClickOffViewFrame();
}

void UpdateFlyoutLayoutBehaviorChanges()
{
LayoutChildren(true);
if (FlyoutPage is null)
return;
FlyoutLayoutBehavior flyoutBehavior = FlyoutPage.FlyoutLayoutBehavior;
bool shouldPresent = FlyoutPageController.ShouldShowSplitMode;
if (flyoutBehavior == FlyoutLayoutBehavior.Popover || flyoutBehavior == FlyoutLayoutBehavior.Default)
{
shouldPresent = false;
}

if (shouldPresent != FlyoutPage.IsPresented)
{
((IElementController)Element).SetValueFromRenderer(FlyoutPage.IsPresentedProperty, shouldPresent);
UpdateLeftBarButton();
}
}

void PackContainers()
{
_detailController.View.BackgroundColor = new UIColor(1, 1, 1, 1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ public CollectionViewHandler2(PropertyMapper mapper = null) : base(mapper ?? Map
[StructuredItemsView.FooterTemplateProperty.PropertyName] = MapFooterTemplate,
[StructuredItemsView.HeaderProperty.PropertyName] = MapHeaderTemplate,
[StructuredItemsView.FooterProperty.PropertyName] = MapFooterTemplate,
[GroupableItemsView.GroupHeaderTemplateProperty.PropertyName] = MapHeaderTemplate,
[GroupableItemsView.GroupFooterTemplateProperty.PropertyName] = MapFooterTemplate,
};
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,20 +61,14 @@ protected override void RegisterViewTypes()
private protected override void RegisterSupplementaryViews(UICollectionElementKindSection kind)
{
base.RegisterSupplementaryViews(kind);
if (IsHorizontal)
{
CollectionView.RegisterClassForSupplementaryView(typeof(HorizontalSupplementaryView2),
kind, HorizontalSupplementalView2ReuseId);
CollectionView.RegisterClassForSupplementaryView(typeof(HorizontalDefaultSupplementalView2),
kind, HorizontalDefaultSupplementalView2ReuseId);
}
else
{
CollectionView.RegisterClassForSupplementaryView(typeof(VerticalSupplementaryView2),
kind, VerticalSupplementaryView2ReuseId);
CollectionView.RegisterClassForSupplementaryView(typeof(VerticalDefaultSupplementalView2),
kind, VerticalDefaultSupplementalView2ReuseId);
}
CollectionView.RegisterClassForSupplementaryView(typeof(HorizontalSupplementaryView2),
kind, HorizontalSupplementalView2ReuseId);
CollectionView.RegisterClassForSupplementaryView(typeof(HorizontalDefaultSupplementalView2),
kind, HorizontalDefaultSupplementalView2ReuseId);
CollectionView.RegisterClassForSupplementaryView(typeof(VerticalSupplementaryView2),
kind, VerticalSupplementaryView2ReuseId);
CollectionView.RegisterClassForSupplementaryView(typeof(VerticalDefaultSupplementalView2),
kind, VerticalDefaultSupplementalView2ReuseId);
}

string DetermineViewReuseId(NSString elementKind)
Expand Down Expand Up @@ -133,7 +127,9 @@ void UpdateTemplatedSupplementaryView(TemplatedCell2 cell, NSString elementKind,

var bindingContext = ItemsSource.Group(indexPath);

cell.isHeaderOrFooterChanged = true;
cell.Bind(template, bindingContext, ItemsView);
cell.isHeaderOrFooterChanged = false;

// if (cell is ItemsViewCell2)
// {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,20 +75,14 @@ public override UICollectionReusableView GetViewForSupplementaryElement(UICollec

private protected virtual void RegisterSupplementaryViews(UICollectionElementKindSection kind)
{
if (IsHorizontal)
{
CollectionView.RegisterClassForSupplementaryView(typeof(HorizontalSupplementaryView2),
kind, HorizontalSupplementaryView2.ReuseId);
CollectionView.RegisterClassForSupplementaryView(typeof(HorizontalDefaultSupplementalView2),
kind, HorizontalDefaultSupplementalView2.ReuseId);
}
else
{
CollectionView.RegisterClassForSupplementaryView(typeof(VerticalSupplementaryView2),
kind, VerticalSupplementaryView2.ReuseId);
CollectionView.RegisterClassForSupplementaryView(typeof(VerticalDefaultSupplementalView2),
kind, VerticalDefaultSupplementalView2.ReuseId);
}
CollectionView.RegisterClassForSupplementaryView(typeof(HorizontalSupplementaryView2),
kind, HorizontalSupplementaryView2.ReuseId);
CollectionView.RegisterClassForSupplementaryView(typeof(HorizontalDefaultSupplementalView2),
kind, HorizontalDefaultSupplementalView2.ReuseId);
CollectionView.RegisterClassForSupplementaryView(typeof(VerticalSupplementaryView2),
kind, VerticalSupplementaryView2.ReuseId);
CollectionView.RegisterClassForSupplementaryView(typeof(VerticalDefaultSupplementalView2),
kind, VerticalDefaultSupplementalView2.ReuseId);
}

string DetermineViewReuseId(NSString elementKind)
Expand All @@ -112,6 +106,7 @@ void UpdateDefaultSupplementaryView(DefaultCell2 cell, NSString elementKind)
void UpdateTemplatedSupplementaryView(TemplatedCell2 cell, NSString elementKind)
{
bool isHeader = elementKind == UICollectionElementKindSectionKey.Header;
cell.isHeaderOrFooterChanged = true;

if (isHeader)
{
Expand All @@ -137,6 +132,8 @@ void UpdateTemplatedSupplementaryView(TemplatedCell2 cell, NSString elementKind)
}
cell.Tag = FooterTag;
}

cell.isHeaderOrFooterChanged = false;
}

string DetermineViewReuseId(DataTemplate template, object item)
Expand Down
25 changes: 23 additions & 2 deletions src/Controls/src/Core/Handlers/Items2/iOS/TemplatedCell2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ public event EventHandler<LayoutAttributesChangedEventArgs2> LayoutAttributesCha

internal bool MeasureInvalidated => _measureInvalidated;

// Flags changes confined to the header/footer, preventing unnecessary recycling and revalidation of templated cells.
internal bool isHeaderOrFooterChanged = false;

public DataTemplate CurrentTemplate
{
get => _currentTemplate is not null && _currentTemplate.TryGetTarget(out var target) ? target : null;
Expand Down Expand Up @@ -144,8 +147,16 @@ public override void PrepareForReuse()

public void Bind(DataTemplate template, object bindingContext, ItemsView itemsView)
{
var virtualView = PlatformHandler?.VirtualView as View ??
template.CreateContent(bindingContext, itemsView) as View;
View virtualView = null;
if (CurrentTemplate != template)
{
CurrentTemplate = template;
virtualView = template.CreateContent(bindingContext, itemsView) as View;
}
else if (PlatformHandler?.VirtualView is View existingView)
{
virtualView = existingView;
}

BindVirtualView(virtualView, bindingContext, itemsView, false);
}
Expand All @@ -157,6 +168,16 @@ public void Bind(View virtualView, ItemsView itemsView)

void BindVirtualView(View virtualView, object bindingContext, ItemsView itemsView, bool needsContainer)
{
var oldElement = PlatformHandler?.VirtualView as View;

if (oldElement is not null && oldElement != virtualView && isHeaderOrFooterChanged)
{
oldElement.BindingContext = null;
itemsView.RemoveLogicalChild(oldElement);
PlatformHandler = null;
PlatformView?.RemoveFromSuperview();
}

if (PlatformHandler is null && virtualView is not null)
{
var mauiContext = itemsView.FindMauiContext()!;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,6 @@ void ShellElementPropertyChanged(object sender, PropertyChangedEventArgs e)
if (ShellView == null)
return base.MeasureOverride(availableSize);

if (!ShellView.IsPaneOpen)
return base.MeasureOverride(availableSize);

if (ShellView.OpenPaneLength < availableSize.Width)
return base.MeasureOverride(availableSize);

Expand Down
21 changes: 9 additions & 12 deletions src/Controls/src/Core/Platform/Android/TabbedPageManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -635,26 +635,23 @@ protected virtual ColorStateList GetItemTextColorStates()
}
else
{
if (barItemColor is not null)
defaultColor = barItemColor.ToPlatform().ToArgb();
// UnSelected tabs TextColor
defaultColor = GetItemTextColor(barItemColor, _originalTabTextColors);

if (barItemColor is null && _originalTabTextColors is not null)
defaultColor = _originalTabTextColors.DefaultColor;

if (!defaultColor.HasValue)
return _originalTabTextColors;
else
checkedColor = defaultColor.Value;

if (barSelectedItemColor is not null)
checkedColor = barSelectedItemColor.ToPlatform().ToArgb();
// Selected tabs TextColor
checkedColor = GetItemTextColor(barSelectedItemColor, _originalTabTextColors);
}

_newTabTextColors = GetColorStateList(defaultColor.Value, checkedColor);

return _newTabTextColors;
}

int GetItemTextColor(Color customColor, ColorStateList originalColors)
{
return customColor?.ToPlatform().ToArgb() ?? originalColors?.DefaultColor ?? 0;
}

protected virtual ColorStateList GetItemIconTintColorState()
{
if (_orignalTabIconColors is null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Microsoft.Maui.Controls.Embedding.EmbeddingExtensions
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider.ValueTargetProvider(object! targetObject, object! targetProperty) -> void
Microsoft.Maui.Controls.Xaml.ResourceDictionaryHelpers
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.RootObject.get -> object
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.SimpleValueTargetProvider(object[] objectAndParents, object targetProperty, Microsoft.Maui.Controls.Internals.INameScope[] scopes, object rootObject) -> void
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Microsoft.Maui.Controls.Embedding.EmbeddingExtensions
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider.ValueTargetProvider(object! targetObject, object! targetProperty) -> void
Microsoft.Maui.Controls.Xaml.ResourceDictionaryHelpers
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.RootObject.get -> object
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.SimpleValueTargetProvider(object[] objectAndParents, object targetProperty, Microsoft.Maui.Controls.Internals.INameScope[] scopes, object rootObject) -> void
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Microsoft.Maui.Controls.Embedding.EmbeddingExtensions
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider.ValueTargetProvider(object! targetObject, object! targetProperty) -> void
Microsoft.Maui.Controls.Xaml.ResourceDictionaryHelpers
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.RootObject.get -> object
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.SimpleValueTargetProvider(object[] objectAndParents, object targetProperty, Microsoft.Maui.Controls.Internals.INameScope[] scopes, object rootObject) -> void
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Microsoft.Maui.Controls.Embedding.EmbeddingExtensions
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider.ValueTargetProvider(object! targetObject, object! targetProperty) -> void
Microsoft.Maui.Controls.Xaml.ResourceDictionaryHelpers
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.RootObject.get -> object
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.SimpleValueTargetProvider(object[] objectAndParents, object targetProperty, Microsoft.Maui.Controls.Internals.INameScope[] scopes, object rootObject) -> void
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Microsoft.Maui.Controls.Embedding.EmbeddingExtensions
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider.ValueTargetProvider(object! targetObject, object! targetProperty) -> void
Microsoft.Maui.Controls.Xaml.ResourceDictionaryHelpers
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.RootObject.get -> object
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.SimpleValueTargetProvider(object[] objectAndParents, object targetProperty, Microsoft.Maui.Controls.Internals.INameScope[] scopes, object rootObject) -> void
2 changes: 2 additions & 0 deletions src/Controls/src/Xaml/PublicAPI/net/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#nullable enable
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.RootObject.get -> object
~Microsoft.Maui.Controls.Xaml.TemplateBindingExtension.TypedBinding.get -> Microsoft.Maui.Controls.Internals.TypedBindingBase
~Microsoft.Maui.Controls.Xaml.TemplateBindingExtension.TypedBinding.set -> void
~static Microsoft.Maui.Controls.Embedding.EmbeddingExtensions.UseMauiEmbeddedApp<TApp>(this Microsoft.Maui.Hosting.MauiAppBuilder builder, System.Func<System.IServiceProvider, TApp> implementationFactory) -> Microsoft.Maui.Hosting.MauiAppBuilder
Expand All @@ -8,3 +9,4 @@ Microsoft.Maui.Controls.Embedding.EmbeddingExtensions
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider.ValueTargetProvider(object! targetObject, object! targetProperty) -> void
Microsoft.Maui.Controls.Xaml.ResourceDictionaryHelpers
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.SimpleValueTargetProvider(object[] objectAndParents, object targetProperty, Microsoft.Maui.Controls.Internals.INameScope[] scopes, object rootObject) -> void
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Microsoft.Maui.Controls.Embedding.EmbeddingExtensions
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider
Microsoft.Maui.Controls.Xaml.Internals.ValueTargetProvider.ValueTargetProvider(object! targetObject, object! targetProperty) -> void
Microsoft.Maui.Controls.Xaml.ResourceDictionaryHelpers
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.RootObject.get -> object
~Microsoft.Maui.Controls.Xaml.Internals.SimpleValueTargetProvider.SimpleValueTargetProvider(object[] objectAndParents, object targetProperty, Microsoft.Maui.Controls.Internals.INameScope[] scopes, object rootObject) -> void
Loading
Loading