When you bind a non-string value to a <MudTextField<T>
>
or any other input element that supports a value of type T, then a Converter
converts that value to string
for display and converts the user's input back to T. This happens automatically without you having to do anything special.
MudBlazor's DefaultConverter<T>
is pretty capable as you can see below but sometimes
you'll want to use your own conversion functions. This page is all about that.
DefaultConverter<T>
The default converter converts all primitive types and their nullable variants to and from string
.
Edit the textfields below to see how the default converter handles different values depending on the type.
Type | Input | Resulting value |
---|---|---|
sbyte |
-128 | |
short |
-1024 | |
int |
-3000000 | |
long |
-9000000000 | |
bool |
True | |
char |
龍 | |
float |
3.1415927 | |
double |
3.141592653589793 | |
decimal |
99.99 | |
decimal (2 decimals) |
99.99999 | |
DateTime |
6/27/2025 8:10:22 AM | |
TimeSpan |
08:10:22.1503431 | |
Guid |
d6034f3f-3e22-46cf-9542-3b6e3143af10 | |
Enum |
RemoveEmptyEntries |
DateConverter
By default, the DefaultConverter
uses your local culture settings. If you want to change that, you can either set the Culture
of individual inputs or converters, or change it globally
by setting Converters.DefaultCulture
to your desired CultureInfo
at application start.
If you want to configure the date format of a DateTime value, you can set the Format
parameter of <MudTextField>
.
Let's format the same date in different ways:
@using System.Globalization; <MudGrid> <MudItem xs="12" sm="6" md="4"> <MudTextField Label="en-US" Variant="Variant.Outlined" Culture="" @bind-Value="date" /> </MudItem> <MudItem xs="12" sm="6" md="4"> <MudTextField Label="de-AT" Variant="Variant.Outlined" Culture="" @bind-Value="date"></MudTextField> </MudItem> <MudItem xs="12" sm="6" md="4"> <MudTextField Label="zh-CN" Variant="Variant.Outlined" Culture="" @bind-Value="date"></MudTextField> </MudItem> <MudItem xs="12" sm="6" md="4"> <MudTextField Label="en-US: dddd, MMM dd" Variant="Variant.Outlined" Culture="" Format="dddd, MMM dd" @bind-Value="date" /> </MudItem> <MudItem xs="12" sm="6" md="4"> <MudTextField Label="de-AT: dddd, dd. MM." Variant="Variant.Outlined" Culture="" Format="dddd, dd. MM." @bind-Value="date"></MudTextField> </MudItem> <MudItem xs="12" sm="6" md="4"> <MudTextField Label="zh-CN: yy年MM月dd日" Variant="Variant.Outlined" Culture="" Format="yyyy年MM月dd日" @bind-Value="date"></MudTextField> </MudItem> </MudGrid>
@code { CultureInfo en = @CultureInfo.GetCultureInfo("en-US"); CultureInfo de = CultureInfo.GetCultureInfo("de-AT"); CultureInfo cn = CultureInfo.GetCultureInfo("zh-CN"); DateTime date = DateTime.Now; }