Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
DateTimeOffsetConverter ist ein Konverter, mit dem Benutzer ein DateTimeOffset in ein DateTime konvertieren können. Manchmal wird ein DateTime-Wert zusammen mit dem Offset im Back-End gespeichert, damit die Zeitzone gespeichert werden kann, aus der ein DateTime stammt. Steuerelemente wie die Microsoft.Maui.Controls.DatePicker funktionieren nur mit DateTime. Dieser Konverter kann in diesen Szenarien verwendet werden.
BaseConverter-Eigenschaften
Die folgenden Eigenschaften werden in der Basisklasse public abstract class BaseConverterimplementiert:
| Eigentum | Beschreibung |
|---|---|
DefaultConvertReturnValue |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.Convert(object?, Type, object?, CultureInfo?) einen Exceptionauslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options-.ShouldSuppressExceptionsInConverters auf truefestgelegt ist. |
DefaultConvertBackReturnValue |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) einen Exceptionauslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options-.ShouldSuppressExceptionsInConverters auf truefestgelegt ist. |
ICommunityToolkitValueConverter-Eigenschaften
Die folgenden Eigenschaften werden in der public interface ICommunityToolkitValueConverterimplementiert:
| Eigentum | Typ | Beschreibung |
|---|---|---|
DefaultConvertReturnValue |
object? |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.Convert(object?, Type, object?, CultureInfo?) einen Exceptionauslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options-.ShouldSuppressExceptionsInConverters auf truefestgelegt ist. |
DefaultConvertBackReturnValue |
object? |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) einen Exceptionauslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options-.ShouldSuppressExceptionsInConverters auf truefestgelegt ist. |
Syntax
XAML
Einbinden des XAML-Namespace
Um das Toolkit in XAML verwenden zu können, muss der folgende xmlns-Abschnitt zu Ihrer Seite oder Ansicht hinzugefügt werden:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Daher das Folgende:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
</ContentPage>
Würde geändert werden, um das xmlns wie folgt einzubinden:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
</ContentPage>
Verwenden des DateTimeOffsetConverter
Die DateTimeOffsetConverter kann wie folgt in XAML verwendet werden:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class="MyLittleApp.MainPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:DateTimeOffsetConverter x:Key="DateTimeOffsetConverter" />
</ResourceDictionary>
</ContentPage.Resources>
<VerticalStackLayout>
<Label Text="The DatePicker below is bound to a Property of type DateTimeOffset."
Margin="16"
HorizontalOptions="Center"
FontAttributes="Bold" />
<DatePicker Date="{Binding TheDate, Converter={StaticResource DateTimeOffsetConverter}}"
Margin="16"
HorizontalOptions="Center" />
<Label Text="{Binding TheDate}"
Margin="16"
HorizontalOptions="Center"
FontAttributes="Bold" />
</VerticalStackLayout>
</ContentPage>
C#
Die DateTimeOffsetConverter kann wie folgt in C# verwendet werden:
class DateTimeOffsetConverterPage : ContentPage
{
public DateTimeOffsetConverterPage()
{
var label = new Label();
label.SetBinding(
Label.TextProperty,
new Binding(
static (ViewModels vm) => vm.MyValue,
converter: new DateTimeOffsetConverter()));
Content = label;
}
}
C#-Markup
Unser CommunityToolkit.Maui.Markup-Paket bietet eine viel präzisere Möglichkeit, diesen Konverter in C# zu verwenden.
using CommunityToolkit.Maui.Markup;
class DateTimeOffsetConverterPage : ContentPage
{
public DateTimeOffsetConverterPage()
{
Content = new Label()
.Bind(
Label.TextProperty,
static (ViewModel vm) => vm.MyValue,
converter: new DateTimeOffsetConverter());
}
}
Beispiele
Sie finden ein Beispiel für diesen Konverter in Aktion in der .NET MAUI Community Toolkit Sample Application.
API
Sie finden den Quellcode für DateTimeOffsetConverter im .NET MAUI Community Toolkit GitHub Repository.
.NET MAUI Community Toolkit