Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As associações de dados .NET Multi-platform App UI (.NET MAUI) geralmente transferem dados de uma propriedade de origem para uma propriedade de destino e, em alguns casos, da propriedade de destino para a propriedade de origem. Essa transferência é simples quando as propriedades de origem e destino são do mesmo tipo, ou quando um tipo pode ser convertido para o outro tipo por meio de uma conversão implícita. Quando tal não for o caso, deve proceder-se a uma conversão de tipo.
Para obter mais informações sobre conversores, consulte a documentação do .NET MAUI.
Conversores do .NET MAUI Community Toolkit
O .NET MAUI Community Toolkit fornece uma coleção de conversores pré-construídos e reutilizáveis para facilitar a vida dos desenvolvedores. Aqui estão os conversores fornecidos pelo kit de ferramentas:
| Conversor | Descrição |
|---|---|
BoolToObjectConverter |
O BoolToObjectConverter é um conversor que permite aos usuários converter uma ligação de bool valor para um objeto específico. |
ByteArrayToImageSourceConverter |
O ByteArrayToImageSourceConverter é um conversor que permite ao utilizador converter um valor de entrada de um byte array e retorna um ImageSource. |
ColorToBlackOrWhiteConverter |
O ColorToBlackOrWhiteConverter é um conversor unidirecional que permite aos utilizadores converter uma entrada Color em um valor monocromático de Colors.Black ou Colors.White. |
ColorToByteAlphaConverter |
O ColorToByteAlphaConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color para o componente alfa como um valor entre 0 e 255. |
ColorToByteBlueConverter |
O ColorToByteBlueConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color para o componente azul como um valor entre 0 e 255. |
ColorToByteGreenConverter |
O ColorToByteGreenConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color para o componente verde como um valor entre 0 e 255. |
ColorToByteRedConverter |
O ColorToByteRedConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color para o componente vermelho como um valor entre 0 e 255. |
ColorToCmykStringConverter |
O ColorToCmykStringConverter é um conversor unidirecional que permite aos utilizadores converter uma ligação de valor de Color no seu equivalente CMYK string. |
ColorToCmykaStringConverter |
O ColorToCmykaStringConverter é um conversor unidirecional que permite aos usuários converter uma vinculação de Color valor para seu equivalente CMYKA string . |
ColorToColorForTextConverter |
O ColorToColorForTextConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color em um valor monocromático de qualquer um Colors.Black ou Colors.White com base em se ele é determinado como sendo escuro para o olho humano. |
ColorToDegreeHueConverter |
O ColorToDegreeHueConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color para o componente de matiz como um valor entre 0 e 360. |
ColorToGrayScaleColorConverter |
O ColorToGrayScaleColorConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color em uma escala Colorde cinza. |
ColorToHexRgbStringConverter |
O ColorToHexRgbStringConverter é um conversor que permite aos utilizadores converter uma ligação de valor Color para o seu equivalente hexadecimal string RGB. |
ColorToHexRgbaStringConverter |
O ColorToHexRgbaStringConverter é um conversor que permite aos utilizadores converter uma associação de valor de Color para o seu equivalente hexadecimal string RGBA. |
ColorToHslStringConverter |
O ColorToHslStringConverter é um conversor unidirecional que permite aos utilizadores converter uma ligação de valor Color para o seu equivalente HSL string. |
ColorToHslaStringConverter |
O ColorToHslaStringConverter é um conversor unidirecional que permite aos usuários converter uma ligação de valor Color para o seu equivalente HSLA string. |
ColorToInverseColorConverter |
O ColorToInverseColorConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color em seu inverso. |
ColorToPercentBlackKeyConverter |
O ColorToPercentBlackKeyConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color para o componente chave como um valor entre 0 e 1. |
ColorToPercentCyanConverter |
O ColorToPercentCyanConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color para o componente ciano como um valor entre 0 e 1. |
ColorToPercentMagentaConverter |
O ColorToPercentMagentaConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color para o componente magenta como um valor entre 0 e 1. |
ColorToPercentYellowConverter |
O ColorToPercentYellowConverter é um conversor unidirecional que permite aos usuários converter uma entrada Color para o componente amarelo como um valor entre 0 e 1. |
ColorToRgbStringConverter |
O ColorToRgbStringConverter é um conversor que permite aos utilizadores converter uma associação de valor Color para o seu equivalente RGB string. |
ColorToRgbaStringConverter |
O ColorToRgbaStringConverter é um conversor unidirecional que permite aos usuários converter uma vinculação de Color valor para seu equivalente RGBA string . |
CompareConverter |
O CompareConverter é um conversor unidirecional que usa um valor de entrada implementando IComparable, compara a um valor especificado e retorna o resultado da comparação. |
DateTimeOffsetConverter |
O DateTimeOffsetConverter é um conversor que permite aos usuários converter um DateTimeOffset para um DateTime |
DoubleToIntConverter |
O DoubleToIntConverter é um conversor que permite aos usuários converter um valor de entrada double em um int e vice-versa. Opcionalmente, o usuário pode fornecer um multiplicador para a conversão através da Ratio propriedade. |
EnumToBoolConverter |
O EnumToBoolConverter é um conversor unidirecional que permite converter um Enum para um correspondente bool com base em se ele é igual a um conjunto de valores de enum fornecidos. É útil ao vincular uma coleção de valores que representam um tipo de enumeração a uma propriedade de controle booleano como a IsVisible propriedade. |
EnumToIntConverter |
O EnumToIntConverter é um conversor que permite converter um padrão Enum (estendendo int) para seu tipo primitivo int subjacente. É útil ao vincular uma coleção de valores que representam um tipo de enumeração com numeração padrão a um controle como um Picker. |
ImageResourceConverter |
O ImageResourceConverter é um conversor que converte o ID do recurso de imagem incorporado em seu ImageSource. |
IndexToArrayItemConverter |
O IndexToArrayItemConverter é um conversor que permite aos utilizadores converter uma associação de valor int para um item numa matriz. O int valor que está sendo vinculado a dados representa o indexador usado para acessar a matriz. A matriz é passada através do ConverterParameter. |
IntToBoolConverter |
O IntToBoolConverter é um conversor que permite aos usuários converter um valor de entrada int em um bool e vice-versa. |
InvertedBoolConverter |
O InvertedBoolConverter é um conversor que permite aos usuários converter um bool para o seu inverso - true torna-se false e vice-versa. |
IsEqualConverter |
O IsEqualConverter é um conversor unidirecional que retorna uma bool indicação se o valor de ligação é igual a outro valor especificado. |
IsInRangeConverter |
O IsInRangeConverter é um conversor unidirecional que usa um valor de entrada implementando IComparable, e um valor mínimo e máximo, e retorna o resultado do valor estar entre os valores mínimo e máximo. |
IsListNotNullOrEmptyConverter |
O IsListNotNullOrEmptyConverter é um conversor unidirecional que converte IEnumerable em um valor bool. |
IsListNullOrEmptyConverter |
O IsListNullOrEmptyConverter é um conversor unidirecional que converte IEnumerable num valor bool. |
IsNotEqualConverter |
O IsNotEqualConverter é um conversor unidirecional que retorna uma bool indicação se o valor de ligação não é igual a outro valor especificado. |
IsNullConverter |
O IsNullConverter é um conversor que permite aos usuários converter uma ligação de entrada em um bool valor. Esse valor representa se o valor de associação de entrada for nulo. |
IsNotNullConverter |
O IsNotNullConverter é um conversor que permite aos usuários converter uma ligação de entrada em um bool valor. Esse valor representa se o valor de associação de entrada não for nulo. |
IsStringNotNullOrEmptyConverter |
O IsStringNotNullOrEmptyConverter é um conversor unidirecional que retorna um bool indicando se o valor de ligação não é nulo e não um string.Empty. |
IsStringNotNullOrWhiteSpaceConverter |
O IsStringNotNullOrWhiteSpaceConverter é um conversor unidirecional que retorna um bool indicando se o valor de ligação não é nulo, não é um string.Empty e não contém apenas caracteres de espaço em branco. |
IsStringNullOrEmptyConverter |
O IsStringNullOrEmptyConverter é um conversor unidirecional que retorna uma bool indicação se o valor de ligação é nulo ou string.Empty. |
IsStringNullOrWhiteSpaceConverter |
O IsStringNullOrWhiteSpaceConverter é um conversor unidirecional que retorna uma bool indicação se o valor de associação é nulo string.Empty ou contém apenas caracteres de espaço em branco. |
ItemTappedEventArgsConverter |
O ItemTappedEventArgsConverter é um conversor que permite aos usuários extrair o valor Item de um ItemTappedEventArgs objeto. Subsequentemente, ele pode ser usado em combinação com EventToCommandBehavior. |
ListToStringConverter |
O ListToStringConverter é um conversor unidirecional que retorna uma concatenação dos membros de uma coleção, usando o separador especificado entre cada membro. |
MathExpressionConverter |
O MathExpressionConverter é um conversor que permite aos usuários executar várias operações matemáticas. |
MultiConverter |
O MultiConverter converte um valor de entrada usando todos os conversores de entrada em sequência. |
MultiMathExpressionConverter |
O MultiMathExpressionConverter é um conversor que permite aos usuários executar várias operações matemáticas com vários valores através do uso de um MultiBinding. |
SelectedItemEventArgsConverter |
O SelectedItemEventArgsConverter é um conversor que permite aos usuários extrair o valor Item de um SelectedItemEventArgs objeto. Subsequentemente, ele pode ser usado em combinação com EventToCommandBehavior. |
StateToBoolConverter |
O StateToBoolConverter é um conversor unidirecional que retorna um boolean resultado com base em se o valor fornecido é de um tipo específico LayoutState. |
StringToListConverter |
O StringToListConverter é um conversor unidirecional que retorna um conjunto de substrings dividindo a string de entrada com base em um ou mais separadores. |
TextCaseConverter |
O TextCaseConverter é um conversor unidirecional que permite aos usuários converter o invólucro de uma ligação de tipo de entrada string . A Type propriedade é usada para definir que tipo de invólucro será aplicado à cadeia de caracteres. |
VariableMultiValueConverter |
O VariableMultiValueConverter é um conversor que permite aos usuários converter bool valores através de um MultiBinding para um único bool. |
Criar um conversor do .NET MAUI Community Toolkit
O .NET MAUI Community Toolkit fornece implementações que garantem a segurança de tipo da interface IValueConverter fornecida pelo .NET MAUI, o que torna mais fácil para os desenvolvedores escreverem conversores mais concisos e seguros de tipo. O kit de ferramentas fornece as seguintes opções
Conversor bidirecional
A BaseConverter classe fornece aos desenvolvedores a capacidade de definir o tipo de valor de entrada e também o tipo de valor de saída para uma IValueConverter implementação que oferece suporte a uma associação bidirecional. O exemplo a seguir mostra como criar um conversor que converterá um bool valor em Colors.Green if true e Colors.Red if false.
public class BoolToColorConverter : BaseConverter<bool, Color>
{
public override Color DefaultConvertReturnValue { get; set; } = Colors.Orange;
public override bool DefaultConvertBackReturnValue { get; set; } = false;
public override string ConvertFrom(bool value, CultureInfo? culture)
{
return value ? Colors.Green : Colors.Red;
}
public override int ConvertBackTo(Color value, CultureInfo? culture)
{
return value == Colors.Green;
}
}
O DefaultConvertReturnValue será usado pela implementação base e retornado se uma exceção for lançada dentro do ConvertFrom método.
O DefaultConvertBackReturnValue será usado pela implementação base e retornado se uma exceção for lançada dentro do ConvertBackTo método.
Advertência
O conversor lançará um ArgumentException se os valores de entrada ou saída não forem do tipo esperado. O lançamento de exceções pode ser desativado definindo CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters como false.
Conversor unidirecional
A BaseConverterOneWay classe fornece aos desenvolvedores a capacidade de definir o tipo de valor de entrada e também o tipo de valor de saída para uma IValueConverter implementação que oferece suporte a uma associação unidirecional. O exemplo a seguir mostra como criar um conversor que converterá um bool valor em Colors.Green if true e Colors.Red if false.
public class BoolToColorConverter : BaseConverterOneWay<bool, Color>
{
public override Color DefaultConvertReturnValue { get; set; } = Colors.Orange
public override string ConvertFrom(bool value, CultureInfo? culture)
{
return value ? Colors.Green : Colors.Red;
}
}
O DefaultConvertReturnValue será usado pela implementação base e retornado se uma exceção for lançada dentro do ConvertFrom método.
Advertência
O conversor lançará um ArgumentException se os valores de entrada ou saída não forem do tipo esperado. O lançamento de exceções pode ser desativado definindo CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters como false.
O conversor lançará um NotSupportedException se usado em uma ligação bidirecional.
.NET MAUI Community Toolkit