Implement MaxLines property in WinUI LabelHandler

This commit is contained in:
Javier Suárez Ruiz 2021-04-13 16:12:26 +02:00
Родитель fc90bf6c40
Коммит 324106578c
3 изменённых файлов: 15 добавлений и 4 удалений

Просмотреть файл

@ -393,6 +393,7 @@ namespace Microsoft.Maui.Controls.Compatibility.Platform.UWP
}
}
[PortHandler]
void UpdateMaxLines(TextBlock textBlock)
{
if (Element.MaxLines >= 0)

Просмотреть файл

@ -1,5 +1,3 @@
using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
@ -40,8 +38,8 @@ namespace Microsoft.Maui.Handlers
[MissingMapper]
public static void MapTextDecorations(LabelHandler handler, ILabel label) { }
[MissingMapper]
public static void MapMaxLines(LabelHandler handler, ILabel label) { }
public static void MapMaxLines(LabelHandler handler, ILabel label) =>
handler.TextBlock?.UpdateMaxLines(label);
public static void MapPadding(LabelHandler handler, ILabel label) =>
handler.TextBlock?.UpdatePadding(label);

Просмотреть файл

@ -23,5 +23,17 @@ namespace Microsoft.Maui
public static void UpdatePadding(this TextBlock nativeControl, ILabel label) =>
nativeControl.UpdateProperty(TextBlock.PaddingProperty, label.Padding.ToNative());
public static void UpdateMaxLines(this TextBlock nativeControl, ILabel label)
{
if (label.MaxLines >= 0)
{
nativeControl.MaxLines = label.MaxLines;
}
else
{
nativeControl.MaxLines = 0;
}
}
}
}