diff --git a/src/Controls/docs/Microsoft.Maui.Controls/AcceleratorTypeConverter.xml b/src/Controls/docs/Microsoft.Maui.Controls/AcceleratorTypeConverter.xml
deleted file mode 100644
index 39dc087556e6..000000000000
--- a/src/Controls/docs/Microsoft.Maui.Controls/AcceleratorTypeConverter.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
- Microsoft.Maui.Controls.Core
- 0.0.0.0
- 2.0.0.0
-
-
- System.ComponentModel.TypeConverter
-
-
-
- Class that the XAML parser uses to convert strings to objects.
- To be added.
-
-
-
-
-
-
- Constructor
-
- 0.0.0.0
- 2.0.0.0
- Microsoft.Maui.Controls.Core
-
-
-
- Creates a new instance.
- To be added.
-
-
-
-
-
-
-
- Method
-
- 0.0.0.0
- 2.0.0.0
- Microsoft.Maui.Controls.Core
-
-
- System.Object
-
-
-
-
-
- To be added.
- Converts into a .
- A new initialized from .
-
-
- may contain a combination of "CTRL", "CMD", "ALT", "SHIFT", "FN", or "WIN", in any combination of upper or lower case letters, as well as any available keys on the platform. The returned has its array filled with the specifed modifiers, and its array filled with the remaining keys.
-
-
-
-
-
diff --git a/src/Controls/src/Core/AcceleratorTypeConverter.cs b/src/Controls/src/Core/AcceleratorTypeConverter.cs
index ee245f1923ef..b66d4a7c68f7 100644
--- a/src/Controls/src/Core/AcceleratorTypeConverter.cs
+++ b/src/Controls/src/Core/AcceleratorTypeConverter.cs
@@ -4,18 +4,22 @@
namespace Microsoft.Maui.Controls
{
- ///
+ ///
+ /// Class that the XAML parser uses to convert strings to objects.
+ ///
+ ///
+ /// The given string value may contain a combination of "CTRL", "CMD", "ALT", "SHIFT", "FN", or "WIN",
+ /// in any combination of upper or lower case letters, as well as any available keys on the platform.
+ /// The returned has its array filled with the specified modifiers,
+ /// and its array filled with the remaining keys.
public class AcceleratorTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
=> destinationType == typeof(string);
-
- ///
+
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var strValue = value?.ToString();
@@ -26,11 +30,11 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c
return Accelerator.FromString(strValue);
}
- ///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (value is not Accelerator acc)
throw new NotSupportedException();
+
return acc.ToString();
}
}
diff --git a/src/Controls/src/Core/ActivityIndicator.cs b/src/Controls/src/Core/ActivityIndicator.cs
index c80bee968f67..8d9df218a4e7 100644
--- a/src/Controls/src/Core/ActivityIndicator.cs
+++ b/src/Controls/src/Core/ActivityIndicator.cs
@@ -33,7 +33,8 @@ public bool IsRunning
get { return (bool)GetValue(IsRunningProperty); }
set { SetValue(IsRunningProperty, value); }
}
- ///
+
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Application.cs b/src/Controls/src/Core/Application.cs
index d9074d1edaef..47a695f25530 100644
--- a/src/Controls/src/Core/Application.cs
+++ b/src/Controls/src/Core/Application.cs
@@ -279,7 +279,7 @@ internal void NotifyOfWindowModalEvent(EventArgs eventArgs)
[Obsolete("Properties API is obsolete, use Microsoft.Maui.Storage.Preferences instead.", error: true)]
public Task SavePropertiesAsync() => throw new NotSupportedException("Properties API is obsolete, use Microsoft.Maui.Storage.Preferences instead.");
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/BoxView.cs b/src/Controls/src/Core/BoxView.cs
index 1b0818dbc3d8..3acc3926bc29 100644
--- a/src/Controls/src/Core/BoxView.cs
+++ b/src/Controls/src/Core/BoxView.cs
@@ -35,7 +35,7 @@ public CornerRadius CornerRadius
set => SetValue(CornerElement.CornerRadiusProperty, value);
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Button.cs b/src/Controls/src/Core/Button.cs
index 86d8a13a1087..48d02da0ef3d 100644
--- a/src/Controls/src/Core/Button.cs
+++ b/src/Controls/src/Core/Button.cs
@@ -248,7 +248,7 @@ public Button()
_platformConfigurationRegistry = new Lazy>(() => new PlatformConfigurationRegistry(this));
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/CarouselPage.cs b/src/Controls/src/Core/CarouselPage.cs
index 7dff97139c91..df8376a7b1ac 100644
--- a/src/Controls/src/Core/CarouselPage.cs
+++ b/src/Controls/src/Core/CarouselPage.cs
@@ -13,7 +13,7 @@ public CarouselPage()
_platformConfigurationRegistry = new Lazy>(() => new PlatformConfigurationRegistry(this));
}
- ///
+ ///
public new IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Cells/Cell.cs b/src/Controls/src/Core/Cells/Cell.cs
index df39934d8b53..cdc416d74283 100644
--- a/src/Controls/src/Core/Cells/Cell.cs
+++ b/src/Controls/src/Core/Cells/Cell.cs
@@ -326,7 +326,6 @@ void OnParentPropertyChanging(object sender, PropertyChangingEventArgs e)
// This creates a nested class to keep track of IElementConfiguration because adding
// IElementConfiguration to the Cell itself tanks performance on UWP ListViews
// Issue has been logged with UWP
- ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return GetElementConfiguration().On();
@@ -346,6 +345,7 @@ public ElementConfiguration(Cell cell)
new Lazy>(() => new PlatformConfigurationRegistry(cell));
}
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/CheckBox.cs b/src/Controls/src/Core/CheckBox.cs
index 5b264c15c450..10da216ecae7 100644
--- a/src/Controls/src/Core/CheckBox.cs
+++ b/src/Controls/src/Core/CheckBox.cs
@@ -50,7 +50,7 @@ protected internal override void ChangeVisualState()
public event EventHandler CheckedChanged;
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/DatePicker.cs b/src/Controls/src/Core/DatePicker.cs
index bffcee8b00c0..8c218692a52a 100644
--- a/src/Controls/src/Core/DatePicker.cs
+++ b/src/Controls/src/Core/DatePicker.cs
@@ -211,7 +211,7 @@ static bool ValidateMinimumDate(BindableObject bindable, object value)
return ((DateTime)value).Date <= ((DatePicker)bindable).MaximumDate.Date;
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Editor.cs b/src/Controls/src/Core/Editor.cs
index c6f9f291152a..a06f76ada1ce 100644
--- a/src/Controls/src/Core/Editor.cs
+++ b/src/Controls/src/Core/Editor.cs
@@ -161,7 +161,7 @@ public Editor()
_platformConfigurationRegistry = new Lazy>(() => new PlatformConfigurationRegistry(this));
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Entry.cs b/src/Controls/src/Core/Entry.cs
index 74388b8d50e0..6fcc7b77e457 100644
--- a/src/Controls/src/Core/Entry.cs
+++ b/src/Controls/src/Core/Entry.cs
@@ -213,7 +213,7 @@ public void SendCompleted()
}
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/FlyoutPage.cs b/src/Controls/src/Core/FlyoutPage.cs
index f65b6bfddc64..8adc0851b830 100644
--- a/src/Controls/src/Core/FlyoutPage.cs
+++ b/src/Controls/src/Core/FlyoutPage.cs
@@ -312,7 +312,7 @@ public FlyoutPage()
readonly Lazy> _platformConfigurationRegistry;
- ///
+ ///
public new IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Frame.cs b/src/Controls/src/Core/Frame.cs
index 5f83f520edc2..37b98d585c35 100644
--- a/src/Controls/src/Core/Frame.cs
+++ b/src/Controls/src/Core/Frame.cs
@@ -63,7 +63,7 @@ public float CornerRadius
double IBorderElement.BorderWidthDefaultValue => -1d;
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/IElementConfiguration.cs b/src/Controls/src/Core/IElementConfiguration.cs
index 5a4da96eeb50..5d0780938d03 100644
--- a/src/Controls/src/Core/IElementConfiguration.cs
+++ b/src/Controls/src/Core/IElementConfiguration.cs
@@ -1,8 +1,17 @@
namespace Microsoft.Maui.Controls
{
+ ///
+ /// Helper that handles storing and lookup of platform specifics implementations
+ ///
+ /// The element type.
public interface IElementConfiguration where TElement : Element
{
+ ///
+ /// Returns the platform-specific instance of this , on which a platform-specific method may be called.
+ ///
+ /// A type of which specifies the platform to retrieve for.
+ /// A platform-specific instance of .
IPlatformElementConfiguration On() where T : IConfigPlatform;
}
}
diff --git a/src/Controls/src/Core/Image.cs b/src/Controls/src/Core/Image.cs
index 197c26e8c225..697c0b8d5a1e 100644
--- a/src/Controls/src/Core/Image.cs
+++ b/src/Controls/src/Core/Image.cs
@@ -79,7 +79,7 @@ protected override SizeRequest OnMeasure(double widthConstraint, double heightCo
return ImageElement.Measure(this, desiredSize, widthConstraint, heightConstraint);
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/ImageButton.cs b/src/Controls/src/Core/ImageButton.cs
index 4a14cf29ca63..cb409b481c8a 100644
--- a/src/Controls/src/Core/ImageButton.cs
+++ b/src/Controls/src/Core/ImageButton.cs
@@ -154,7 +154,7 @@ protected override SizeRequest OnMeasure(double widthConstraint, double heightCo
return ImageElement.Measure(this, desiredSize, widthConstraint, heightConstraint);
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform => _platformConfigurationRegistry.Value.On();
int IBorderElement.CornerRadiusDefaultValue => (int)CornerRadiusProperty.DefaultValue;
diff --git a/src/Controls/src/Core/Interactivity/Behavior.cs b/src/Controls/src/Core/Interactivity/Behavior.cs
index 6f4aa4b50fdd..386fb9938a37 100644
--- a/src/Controls/src/Core/Interactivity/Behavior.cs
+++ b/src/Controls/src/Core/Interactivity/Behavior.cs
@@ -1,17 +1,25 @@
using System;
-using Microsoft.Maui.Controls.Internals;
namespace Microsoft.Maui.Controls
{
- ///
+ ///
+ /// Base class for generalized user-defined behaviors that can respond to arbitrary conditions and events.
+ ///
+ /// Application developers should specialize the generic class, instead of directly using .
public abstract class Behavior : BindableObject, IAttachedObject
{
+ ///
+ /// Creates a new with default values.
+ ///
protected Behavior() : this(typeof(BindableObject))
{
}
internal Behavior(Type associatedType) => AssociatedType = associatedType ?? throw new ArgumentNullException(nameof(associatedType));
+ ///
+ /// Gets the type of the objects with which this can be associated.
+ ///
protected Type AssociatedType { get; }
void IAttachedObject.AttachTo(BindableObject bindable)
@@ -25,38 +33,60 @@ void IAttachedObject.AttachTo(BindableObject bindable)
void IAttachedObject.DetachFrom(BindableObject bindable) => OnDetachingFrom(bindable);
+ ///
+ /// Application developers override this method to implement the behaviors that will be associated with .
+ ///
+ /// The bindable object to which the behavior was attached.
protected virtual void OnAttachedTo(BindableObject bindable)
{
}
+ ///
+ /// Application developers override this method to remove the behaviors from
+ /// that were implemented in a previous call to the method.
+ ///
+ /// The bindable object from which the behavior was detached.
protected virtual void OnDetachingFrom(BindableObject bindable)
{
}
}
- ///
+ ///
+ /// The type of object this behavior will be applied to.
public abstract class Behavior : Behavior where T : BindableObject
{
+ ///
protected Behavior() : base(typeof(T))
{
}
+ ///
protected override void OnAttachedTo(BindableObject bindable)
{
base.OnAttachedTo(bindable);
OnAttachedTo((T)bindable);
}
+ ///
+ /// Application developers override this method to implement the behaviors that will be associated with .
+ ///
+ /// The bindable object to which the behavior was attached.
protected virtual void OnAttachedTo(T bindable)
{
}
+ ///
protected override void OnDetachingFrom(BindableObject bindable)
{
OnDetachingFrom((T)bindable);
base.OnDetachingFrom(bindable);
}
+ ///
+ /// Application developers override this method to remove the behaviors from
+ /// that were implemented in a previous call to the method.
+ ///
+ /// The bindable object from which the behavior was detached.
protected virtual void OnDetachingFrom(T bindable)
{
}
diff --git a/src/Controls/src/Core/Label.cs b/src/Controls/src/Core/Label.cs
index 40ed40e785de..c71e6995d1a9 100644
--- a/src/Controls/src/Core/Label.cs
+++ b/src/Controls/src/Core/Label.cs
@@ -371,7 +371,7 @@ static void OnTextPropertyChanged(BindableObject bindable, object oldvalue, obje
((Label)bindable).FormattedText = null;
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/LegacyLayouts/AbsoluteLayout.cs b/src/Controls/src/Core/LegacyLayouts/AbsoluteLayout.cs
index bc78437c1f61..a8f0a652756c 100644
--- a/src/Controls/src/Core/LegacyLayouts/AbsoluteLayout.cs
+++ b/src/Controls/src/Core/LegacyLayouts/AbsoluteLayout.cs
@@ -27,6 +27,7 @@ public AbsoluteLayout()
new PlatformConfigurationRegistry(this));
}
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/LegacyLayouts/Grid.cs b/src/Controls/src/Core/LegacyLayouts/Grid.cs
index b43ccabdc5d6..5586bf3b3113 100644
--- a/src/Controls/src/Core/LegacyLayouts/Grid.cs
+++ b/src/Controls/src/Core/LegacyLayouts/Grid.cs
@@ -66,6 +66,7 @@ public Grid()
new PlatformConfigurationRegistry(this));
}
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/LegacyLayouts/RelativeLayout.cs b/src/Controls/src/Core/LegacyLayouts/RelativeLayout.cs
index fee9a5536083..913b2c33328d 100644
--- a/src/Controls/src/Core/LegacyLayouts/RelativeLayout.cs
+++ b/src/Controls/src/Core/LegacyLayouts/RelativeLayout.cs
@@ -40,6 +40,7 @@ public RelativeLayout()
new PlatformConfigurationRegistry(this));
}
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/LegacyLayouts/StackLayout.cs b/src/Controls/src/Core/LegacyLayouts/StackLayout.cs
index 323162a006eb..8fd3eaaa33f1 100644
--- a/src/Controls/src/Core/LegacyLayouts/StackLayout.cs
+++ b/src/Controls/src/Core/LegacyLayouts/StackLayout.cs
@@ -24,6 +24,7 @@ public StackLayout()
new PlatformConfigurationRegistry(this));
}
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/ListView.cs b/src/Controls/src/Core/ListView.cs
index 7b6635510e57..20e3d4e52c97 100644
--- a/src/Controls/src/Core/ListView.cs
+++ b/src/Controls/src/Core/ListView.cs
@@ -739,7 +739,7 @@ static bool ValidateHeaderFooterTemplate(BindableObject bindable, object value)
return template.CreateContent() is View;
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/NavigationPage.cs b/src/Controls/src/Core/NavigationPage.cs
index 2b9d785c6f77..a3832ce1a98f 100644
--- a/src/Controls/src/Core/NavigationPage.cs
+++ b/src/Controls/src/Core/NavigationPage.cs
@@ -425,7 +425,7 @@ void SafePop()
readonly Lazy> _platformConfigurationRegistry;
- ///
+ ///
public new IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/OpenGLView.cs b/src/Controls/src/Core/OpenGLView.cs
index b6f9ec58b7fe..7757d427a1e8 100644
--- a/src/Controls/src/Core/OpenGLView.cs
+++ b/src/Controls/src/Core/OpenGLView.cs
@@ -39,7 +39,7 @@ public OpenGLView()
_platformConfigurationRegistry = new Lazy>(() => new PlatformConfigurationRegistry(this));
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Page.cs b/src/Controls/src/Core/Page.cs
index 4cfab2195bf8..bc7f9519e03b 100644
--- a/src/Controls/src/Core/Page.cs
+++ b/src/Controls/src/Core/Page.cs
@@ -598,7 +598,7 @@ bool ShouldLayoutChildren()
return !any;
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Picker.cs b/src/Controls/src/Core/Picker.cs
index 200befb74bd1..bb1c5fb79e18 100644
--- a/src/Controls/src/Core/Picker.cs
+++ b/src/Controls/src/Core/Picker.cs
@@ -361,7 +361,7 @@ void UpdateSelectedItem(int index)
SelectedItem = Items[index];
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/PlatformConfigurationRegistry.cs b/src/Controls/src/Core/PlatformConfigurationRegistry.cs
index 392b0031ee9a..0b8b3e435668 100644
--- a/src/Controls/src/Core/PlatformConfigurationRegistry.cs
+++ b/src/Controls/src/Core/PlatformConfigurationRegistry.cs
@@ -1,13 +1,9 @@
using System;
using System.Collections.Generic;
-using System.ComponentModel;
namespace Microsoft.Maui.Controls
{
- ///
- /// Helper that handles storing and lookup of platform specifics implementations
- ///
- /// The Element type
+ ///
public class PlatformConfigurationRegistry : IElementConfiguration
where TElement : Element
{
@@ -19,6 +15,7 @@ public PlatformConfigurationRegistry(TElement element)
_element = element;
}
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
if (_platformSpecifics.ContainsKey(typeof(T)))
diff --git a/src/Controls/src/Core/ProgressBar.cs b/src/Controls/src/Core/ProgressBar.cs
index 6dfb7e224d85..038b1cec666f 100644
--- a/src/Controls/src/Core/ProgressBar.cs
+++ b/src/Controls/src/Core/ProgressBar.cs
@@ -47,7 +47,7 @@ public Task ProgressTo(double value, uint length, Easing easing)
return tcs.Task;
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/ProvideCompiledAttribute.cs b/src/Controls/src/Core/ProvideCompiledAttribute.cs
index 07979e49fe16..a6e1d5371134 100644
--- a/src/Controls/src/Core/ProvideCompiledAttribute.cs
+++ b/src/Controls/src/Core/ProvideCompiledAttribute.cs
@@ -2,11 +2,21 @@
namespace Microsoft.Maui.Controls.Xaml
{
+ ///
+ /// Attribute to indicate that the adorned class can be compiled through XAML compilation.
+ ///
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
sealed class ProvideCompiledAttribute : Attribute
{
+ ///
+ /// The fully qualified type name to provide a compiled version for.
+ ///
public string CompiledVersion { get; }
+ ///
+ /// Creates a new object.
+ ///
+ ///
public ProvideCompiledAttribute(string compiledVersion)
{
CompiledVersion = compiledVersion;
diff --git a/src/Controls/src/Core/RadioButton.cs b/src/Controls/src/Core/RadioButton.cs
index 45d98ea61635..7a9b44e8d893 100644
--- a/src/Controls/src/Core/RadioButton.cs
+++ b/src/Controls/src/Core/RadioButton.cs
@@ -201,7 +201,7 @@ public RadioButton()
new PlatformConfigurationRegistry(this));
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/RefreshView.cs b/src/Controls/src/Core/RefreshView.cs
index eacd85fdd39c..e5a58ab93cd1 100644
--- a/src/Controls/src/Core/RefreshView.cs
+++ b/src/Controls/src/Core/RefreshView.cs
@@ -129,7 +129,7 @@ public Color RefreshColor
set { SetValue(RefreshColorProperty, value); }
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/ScrollView.cs b/src/Controls/src/Core/ScrollView.cs
index a770c2f6c5b9..e7f3da489b74 100644
--- a/src/Controls/src/Core/ScrollView.cs
+++ b/src/Controls/src/Core/ScrollView.cs
@@ -219,7 +219,7 @@ public ScrollView()
public event EventHandler Scrolled;
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/SearchBar.cs b/src/Controls/src/Core/SearchBar.cs
index 7aa3806633bf..50ecf266953b 100644
--- a/src/Controls/src/Core/SearchBar.cs
+++ b/src/Controls/src/Core/SearchBar.cs
@@ -223,7 +223,7 @@ static void OnCommandChanged(BindableObject bindable, object oldValue, object ne
}
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Shell/ShellItem.cs b/src/Controls/src/Core/Shell/ShellItem.cs
index ae67d1eeeec1..32fe4d673113 100644
--- a/src/Controls/src/Core/Shell/ShellItem.cs
+++ b/src/Controls/src/Core/Shell/ShellItem.cs
@@ -240,7 +240,7 @@ public static implicit operator ShellItem(ShellSection shellSection)
public static implicit operator ShellItem(MenuItem menuItem) => new MenuShellItem(menuItem);
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Slider.cs b/src/Controls/src/Core/Slider.cs
index 3c93806d2077..c7743fcc628c 100644
--- a/src/Controls/src/Core/Slider.cs
+++ b/src/Controls/src/Core/Slider.cs
@@ -164,7 +164,7 @@ void ISliderController.SendDragCompleted()
}
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Stepper.cs b/src/Controls/src/Core/Stepper.cs
index a3c8d526e731..6205b16956f5 100644
--- a/src/Controls/src/Core/Stepper.cs
+++ b/src/Controls/src/Core/Stepper.cs
@@ -102,7 +102,7 @@ public double Value
public event EventHandler ValueChanged;
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform => _platformConfigurationRegistry.Value.On();
double IStepper.Interval => Increment;
diff --git a/src/Controls/src/Core/SwipeView.cs b/src/Controls/src/Core/SwipeView.cs
index 98b3aad2b33f..9d44b0f327f9 100644
--- a/src/Controls/src/Core/SwipeView.cs
+++ b/src/Controls/src/Core/SwipeView.cs
@@ -192,7 +192,7 @@ static object SwipeItemsDefaultValueCreator(BindableObject bindable)
return ((SwipeView)bindable).SwipeItemsDefaultValueCreator();
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/Switch.cs b/src/Controls/src/Core/Switch.cs
index 297a97f32b52..55cc969a39c9 100644
--- a/src/Controls/src/Core/Switch.cs
+++ b/src/Controls/src/Core/Switch.cs
@@ -70,7 +70,7 @@ protected internal override void ChangeVisualState()
public event EventHandler Toggled;
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/TabbedPage.cs b/src/Controls/src/Core/TabbedPage.cs
index c6caafa81a81..b53f3916da14 100644
--- a/src/Controls/src/Core/TabbedPage.cs
+++ b/src/Controls/src/Core/TabbedPage.cs
@@ -73,7 +73,7 @@ public TabbedPage()
_platformConfigurationRegistry = new Lazy>(() => new PlatformConfigurationRegistry(this));
}
- ///
+ ///
public new IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/TableView.cs b/src/Controls/src/Core/TableView.cs
index 78f37fbafe72..3d507dca7f7c 100644
--- a/src/Controls/src/Core/TableView.cs
+++ b/src/Controls/src/Core/TableView.cs
@@ -143,7 +143,7 @@ protected override SizeRequest OnMeasure(double widthConstraint, double heightCo
[EditorBrowsable(EditorBrowsableState.Never)]
public event EventHandler ModelChanged;
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/TimePicker.cs b/src/Controls/src/Core/TimePicker.cs
index 15e8759d87f3..f731472f0b7f 100644
--- a/src/Controls/src/Core/TimePicker.cs
+++ b/src/Controls/src/Core/TimePicker.cs
@@ -132,7 +132,7 @@ void HandleFontChanged()
InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged);
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Controls/src/Core/ViewExtensions.cs b/src/Controls/src/Core/ViewExtensions.cs
index e2bc0a15ac7a..7fc6f3b2871c 100644
--- a/src/Controls/src/Core/ViewExtensions.cs
+++ b/src/Controls/src/Core/ViewExtensions.cs
@@ -8,10 +8,16 @@
namespace Microsoft.Maui.Controls
{
- ///
+ ///
+ /// Extension methods for s, providing animatable scaling, rotation, and layout functions.
+ ///
public static class ViewExtensions
{
- ///
+ ///
+ /// Aborts all animations (e.g. LayoutTo , TranslateTo , ScaleTo , etc.) on the element.
+ ///
+ /// The view on which this method operates.
+ /// Thrown if is .
public static void CancelAnimations(this VisualElement view)
{
if (view == null)
@@ -51,7 +57,15 @@ void UpdateProperty(double f)
return tcs.Task;
}
- ///
+
+ ///
+ /// Returns a task that performs the fade that is described by the , , and parameters.
+ ///
+ /// The view on which this method operates.
+ /// The opacity to fade to.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task FadeTo(this VisualElement view, double opacity, uint length = 250, Easing? easing = null)
{
if (view == null)
@@ -60,7 +74,15 @@ public static Task FadeTo(this VisualElement view, double opacity, uint le
return AnimateTo(view, view.Opacity, opacity, nameof(FadeTo), (v, value) => v.Opacity = value, length, easing);
}
- ///
+ ///
+ /// Returns a task that eases the bounds of the that is specified by the
+ /// to the rectangle that is specified by the parameter.
+ ///
+ /// The view on which this method operates.
+ /// The layout bounds.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task LayoutTo(this VisualElement view, Rect bounds, uint length = 250, Easing? easing = null)
{
if (view == null)
@@ -80,7 +102,14 @@ public static Task LayoutTo(this VisualElement view, Rect bounds, uint len
return AnimateTo(view, 0, 1, nameof(LayoutTo), (v, value) => v.Layout(computeBounds(value)), length, easing);
}
- ///
+ ///
+ /// Rotates the that is specified by from its current rotation by .
+ ///
+ /// The view on which this method operates.
+ /// The relative rotation.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task RelRotateTo(this VisualElement view, double drotation, uint length = 250, Easing? easing = null)
{
if (view == null)
@@ -89,7 +118,15 @@ public static Task RelRotateTo(this VisualElement view, double drotation,
return view.RotateTo(view.Rotation + drotation, length, easing);
}
- ///
+ ///
+ /// Returns a task that scales the that is specified by
+ /// from its current scale to .
+ ///
+ /// The view on which this method operates.
+ /// The relative scale.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task RelScaleTo(this VisualElement view, double dscale, uint length = 250, Easing? easing = null)
{
if (view == null)
@@ -98,7 +135,15 @@ public static Task RelScaleTo(this VisualElement view, double dscale, uint
return view.ScaleTo(view.Scale + dscale, length, easing);
}
- ///
+ ///
+ /// Returns a task that rotates the that is specified by
+ /// that is described by the , , and parameters.
+ ///
+ /// The view on which this method operates.
+ /// The final rotation value.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task RotateTo(this VisualElement view, double rotation, uint length = 250, Easing? easing = null)
{
if (view == null)
@@ -107,7 +152,15 @@ public static Task RotateTo(this VisualElement view, double rotation, uint
return AnimateTo(view, view.Rotation, rotation, nameof(RotateTo), (v, value) => v.Rotation = value, length, easing);
}
- ///
+ ///
+ /// Returns a task that skews the X axis of the the that is specified by
+ /// by , taking time and using .
+ ///
+ /// The view on which this method operates.
+ /// The final rotation value.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task RotateXTo(this VisualElement view, double rotation, uint length = 250, Easing? easing = null)
{
if (view == null)
@@ -116,7 +169,15 @@ public static Task RotateXTo(this VisualElement view, double rotation, uin
return AnimateTo(view, view.RotationX, rotation, nameof(RotateXTo), (v, value) => v.RotationX = value, length, easing);
}
- ///
+ ///
+ /// Returns a task that skews the Y axis of the the that is specified by
+ /// by , taking time and using .
+ ///
+ /// The view on which this method operates.
+ /// The final rotation value.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task RotateYTo(this VisualElement view, double rotation, uint length = 250, Easing? easing = null)
{
if (view == null)
@@ -125,7 +186,14 @@ public static Task RotateYTo(this VisualElement view, double rotation, uin
return AnimateTo(view, view.RotationY, rotation, nameof(RotateYTo), (v, value) => v.RotationY = value, length, easing);
}
- ///
+ ///
+ /// Returns a task that scales the that is specified by to the absolute scale factor .
+ ///
+ /// The view on which this method operates.
+ /// The final absolute scale.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task ScaleTo(this VisualElement view, double scale, uint length = 250, Easing? easing = null)
{
if (view == null)
@@ -134,7 +202,15 @@ public static Task ScaleTo(this VisualElement view, double scale, uint len
return AnimateTo(view, view.Scale, scale, nameof(ScaleTo), (v, value) => v.Scale = value, length, easing);
}
- ///
+ ///
+ /// Returns a task that scales the X axis of the the that is specified by
+ /// to the absolute scale factor .
+ ///
+ /// The view on which this method operates.
+ /// The final absolute scale.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task ScaleXTo(this VisualElement view, double scale, uint length = 250, Easing? easing = null)
{
if (view == null)
@@ -143,7 +219,15 @@ public static Task ScaleXTo(this VisualElement view, double scale, uint le
return AnimateTo(view, view.ScaleX, scale, nameof(ScaleXTo), (v, value) => v.ScaleX = value, length, easing);
}
- ///
+ ///
+ /// Returns a task that scales the Y axis of the the that is specified by
+ /// to the absolute scale factor .
+ ///
+ /// The view on which this method operates.
+ /// The final absolute scale.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task ScaleYTo(this VisualElement view, double scale, uint length = 250, Easing? easing = null)
{
if (view == null)
@@ -152,7 +236,16 @@ public static Task ScaleYTo(this VisualElement view, double scale, uint le
return AnimateTo(view, view.ScaleY, scale, nameof(ScaleYTo), (v, value) => v.ScaleY = value, length, easing);
}
- ///
+ ///
+ /// Animates an elements and properties
+ /// from their current values to the new values. This ensures that the input layout is in the same position as the visual layout.
+ ///
+ /// The view on which this method operates.
+ /// The x component of the final translation vector.
+ /// The y component of the final translation vector.
+ /// The time, in milliseconds, over which to animate the transition. The default is 250.
+ /// The easing function to use for the animation.
+ /// Thrown when is .
public static Task TranslateTo(this VisualElement view, double x, double y, uint length = 250, Easing? easing = null)
{
if (view == null)
diff --git a/src/Controls/src/Core/WebView.cs b/src/Controls/src/Core/WebView.cs
index f09f09a5a00f..d6f47966ba68 100644
--- a/src/Controls/src/Core/WebView.cs
+++ b/src/Controls/src/Core/WebView.cs
@@ -237,7 +237,7 @@ event EventHandler IWebViewController.ReloadRequested
remove { _reloadRequested -= value; }
}
- ///
+ ///
public IPlatformElementConfiguration On() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On();
diff --git a/src/Core/docs/Microsoft.Maui/ViewExtensions.xml b/src/Core/docs/Microsoft.Maui/ViewExtensions.xml
index e101a17f6f0c..14b3ee98774e 100644
--- a/src/Core/docs/Microsoft.Maui/ViewExtensions.xml
+++ b/src/Core/docs/Microsoft.Maui/ViewExtensions.xml
@@ -19,7 +19,7 @@
- Extension methods for s, providing animatable scaling, rotation, and layout functions.
+ Extension methods for s, providing animatable scaling, rotation, and layout functions.
To be added.
diff --git a/src/Core/src/Converters/CornerRadiusTypeConverter.cs b/src/Core/src/Converters/CornerRadiusTypeConverter.cs
index 874828d84be0..4174217d1ca8 100644
--- a/src/Core/src/Converters/CornerRadiusTypeConverter.cs
+++ b/src/Core/src/Converters/CornerRadiusTypeConverter.cs
@@ -7,15 +7,12 @@ namespace Microsoft.Maui.Converters
///
public class CornerRadiusTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext? context, Type? destinationType)
=> destinationType == typeof(string);
- ///
public override object ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object? value)
{
var strValue = value?.ToString();
@@ -66,7 +63,6 @@ public override object ConvertFrom(ITypeDescriptorContext? context, CultureInfo?
throw new InvalidOperationException($"Cannot convert \"{strValue}\" into {typeof(CornerRadius)}");
}
- ///
public override object ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType)
{
if (value is not CornerRadius cr)
diff --git a/src/Core/src/Converters/EasingTypeConverter.cs b/src/Core/src/Converters/EasingTypeConverter.cs
index ac8ab53d276a..2df10249bbe1 100644
--- a/src/Core/src/Converters/EasingTypeConverter.cs
+++ b/src/Core/src/Converters/EasingTypeConverter.cs
@@ -12,15 +12,12 @@ namespace Microsoft.Maui.Converters
///
public class EasingTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
=> destinationType == typeof(string);
- ///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var strValue = value?.ToString();
@@ -69,7 +66,6 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c
throw new InvalidOperationException($"Cannot convert \"{strValue}\" into {typeof(Easing)}");
}
- ///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (value is not Easing easing)
@@ -101,15 +97,12 @@ public override object ConvertTo(ITypeDescriptorContext context, CultureInfo cul
throw new NotSupportedException();
}
- ///
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
=> true;
- ///
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
=> false;
- ///
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
=> new(new[] {
"Linear",
diff --git a/src/Core/src/Converters/FlexEnumsConverters.cs b/src/Core/src/Converters/FlexEnumsConverters.cs
index 1c6befafbff5..1d037747f642 100644
--- a/src/Core/src/Converters/FlexEnumsConverters.cs
+++ b/src/Core/src/Converters/FlexEnumsConverters.cs
@@ -9,15 +9,12 @@ namespace Microsoft.Maui.Converters
///
public class FlexJustifyTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
=> true;
- ///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var strValue = value?.ToString();
@@ -39,7 +36,6 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c
throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", strValue, typeof(FlexJustify)));
}
- ///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (value is not FlexJustify fj)
@@ -52,15 +48,12 @@ public override object ConvertTo(ITypeDescriptorContext context, CultureInfo cul
///
public class FlexDirectionTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
=> true;
- ///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var strValue = value?.ToString();
@@ -78,7 +71,6 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c
throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", strValue, typeof(FlexDirection)));
}
- ///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (value is not FlexDirection fd)
@@ -91,15 +83,12 @@ public override object ConvertTo(ITypeDescriptorContext context, CultureInfo cul
///
public class FlexAlignContentTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
=> true;
- ///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var strValue = value?.ToString();
@@ -121,7 +110,6 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c
throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", strValue, typeof(FlexAlignContent)));
}
- ///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (value is not FlexAlignContent fac)
@@ -134,15 +122,12 @@ public override object ConvertTo(ITypeDescriptorContext context, CultureInfo cul
///
public class FlexAlignItemsTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
=> true;
- ///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var strValue = value?.ToString();
@@ -160,7 +145,6 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c
throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", strValue, typeof(FlexAlignItems)));
}
- ///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (value is not FlexAlignItems fai)
@@ -173,15 +157,12 @@ public override object ConvertTo(ITypeDescriptorContext context, CultureInfo cul
///
public class FlexAlignSelfTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
=> true;
- ///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var strValue = value?.ToString();
@@ -199,7 +180,6 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c
throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", strValue, typeof(FlexAlignSelf)));
}
- ///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (value is not FlexAlignSelf fes)
@@ -212,15 +192,12 @@ public override object ConvertTo(ITypeDescriptorContext context, CultureInfo cul
///
public class FlexWrapTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
=> true;
- ///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var strValue = value?.ToString();
@@ -236,7 +213,6 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c
throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", strValue, typeof(FlexWrap)));
}
- ///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (value is not FlexWrap fw)
@@ -249,15 +225,12 @@ public override object ConvertTo(ITypeDescriptorContext context, CultureInfo cul
///
public class FlexBasisTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
=> true;
- ///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var strValue = value?.ToString();
@@ -277,7 +250,6 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c
throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", strValue, typeof(FlexBasis)));
}
- ///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (value is not FlexBasis basis)
diff --git a/src/Core/src/Converters/KeyboardTypeConverter.cs b/src/Core/src/Converters/KeyboardTypeConverter.cs
index 2ad987f3991a..b495c6242cb8 100644
--- a/src/Core/src/Converters/KeyboardTypeConverter.cs
+++ b/src/Core/src/Converters/KeyboardTypeConverter.cs
@@ -9,15 +9,12 @@ namespace Microsoft.Maui.Converters
///
public class KeyboardTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext? context, Type? destinationType)
=> destinationType == typeof(string);
- ///
public override object ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object? value)
{
var strValue = value?.ToString();
@@ -44,7 +41,6 @@ public override object ConvertFrom(ITypeDescriptorContext? context, CultureInfo?
throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", strValue, typeof(Keyboard)));
}
- ///
public override object ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType)
{
if (!(value is Keyboard keyboard))
diff --git a/src/Core/src/Converters/ThicknessTypeConverter.cs b/src/Core/src/Converters/ThicknessTypeConverter.cs
index 8cf71e512c90..881dd72f7750 100644
--- a/src/Core/src/Converters/ThicknessTypeConverter.cs
+++ b/src/Core/src/Converters/ThicknessTypeConverter.cs
@@ -9,15 +9,12 @@ namespace Microsoft.Maui.Converters
///
public class ThicknessTypeConverter : TypeConverter
{
- ///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
=> sourceType == typeof(string);
- ///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
=> destinationType == typeof(string);
- ///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var strValue = value?.ToString();
@@ -80,7 +77,6 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c
throw new InvalidOperationException($"Cannot convert \"{strValue}\" into {typeof(Thickness)}");
}
- ///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (value is not Thickness t)
diff --git a/src/Core/src/Dispatching/Dispatcher.cs b/src/Core/src/Dispatching/Dispatcher.cs
index 4b5acd1fbcd0..2006b56cc292 100644
--- a/src/Core/src/Dispatching/Dispatcher.cs
+++ b/src/Core/src/Dispatching/Dispatcher.cs
@@ -5,7 +5,6 @@ namespace Microsoft.Maui.Dispatching
///
public partial class Dispatcher : IDispatcher
{
- ///
public static IDispatcher? GetForCurrentThread() =>
DispatcherProvider.Current.GetForCurrentThread();
diff --git a/src/Core/src/VisualDiagnostics/RectangleAdorner.cs b/src/Core/src/VisualDiagnostics/RectangleAdorner.cs
index 160a2cbcb866..0cdb025ef014 100755
--- a/src/Core/src/VisualDiagnostics/RectangleAdorner.cs
+++ b/src/Core/src/VisualDiagnostics/RectangleAdorner.cs
@@ -67,7 +67,6 @@ public virtual bool Contains(Point point)
return false;
}
- ///
public virtual void Draw(ICanvas canvas, RectF dirtyRect)
{
UpdateModel();
diff --git a/src/Core/src/VisualDiagnostics/RectangleGridAdorner.cs b/src/Core/src/VisualDiagnostics/RectangleGridAdorner.cs
index a7594b5656eb..42521b6fda47 100644
--- a/src/Core/src/VisualDiagnostics/RectangleGridAdorner.cs
+++ b/src/Core/src/VisualDiagnostics/RectangleGridAdorner.cs
@@ -22,7 +22,6 @@ public RectangleGridAdorner(IView view, float density = 1, Point? offset = null,
{
}
- ///
public override void Draw(ICanvas canvas, RectF dirtyRect)
{
base.Draw(canvas, dirtyRect);
diff --git a/src/Core/src/WindowOverlay/WindowOverlay.cs b/src/Core/src/WindowOverlay/WindowOverlay.cs
index 57e88a9588d3..e8533ff209ee 100644
--- a/src/Core/src/WindowOverlay/WindowOverlay.cs
+++ b/src/Core/src/WindowOverlay/WindowOverlay.cs
@@ -38,7 +38,6 @@ public WindowOverlay(IWindow window)
///
public IReadOnlyCollection WindowElements => _windowElements;
- ///
public PlatformView? GraphicsView => _graphicsView;
///
@@ -73,10 +72,11 @@ public bool IsVisible
///
public float Density => Window?.RequestDisplayDensity() ?? 1f;
- ///
+ ///
+ /// The event handler that is fired whenever the is tapped.
+ ///
public event EventHandler? Tapped;
- ///
public void Draw(ICanvas canvas, RectF dirtyRect)
{
if (!IsVisible)
| | |