Skip to content

Commit 9cf6825

Browse files
Vignesh-SF3580rmarinho
authored andcommitted
updated changes.
1 parent 4c97c6d commit 9cf6825

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/Controls/src/Core/BindableProperty.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,7 @@ public sealed class BindableProperty
4848
{ typeof(ImageSource), new ImageSourceConverter() },
4949
#if NET6_0_OR_GREATER
5050
{ typeof(DateTime), new DateTimeTypeConverter() },
51-
{ typeof(DateTime?), new DateTimeTypeConverter() },
52-
{ typeof(TimeSpan), new TimeSpanTypeConverter() },
53-
{ typeof(TimeSpan?), new TimeSpanTypeConverter() }
51+
{ typeof(TimeSpan), new TimeSpanTypeConverter() }
5452
#endif
5553
};
5654

@@ -230,12 +228,15 @@ internal bool TryConvert(ref object value)
230228
value = Convert.ChangeType(value, returnType);
231229
return true;
232230
}
233-
if (KnownTypeConverters.TryGetValue(returnType, out TypeConverter typeConverterTo) && typeConverterTo.CanConvertFrom(valueType))
231+
232+
Type targetType = Nullable.GetUnderlyingType(returnType) ?? returnType;
233+
234+
if (KnownTypeConverters.TryGetValue(targetType, out TypeConverter typeConverterTo) && typeConverterTo.CanConvertFrom(valueType))
234235
{
235236
value = typeConverterTo.ConvertFrom(value);
236237
return true;
237238
}
238-
if (KnownTypeConverters.TryGetValue(returnType, out typeConverterTo) && typeConverterTo.CanConvertFrom(typeof(string)))
239+
if (KnownTypeConverters.TryGetValue(targetType, out typeConverterTo) && typeConverterTo.CanConvertFrom(typeof(string)))
239240
{
240241
value = typeConverterTo.ConvertFromInvariantString(value.ToString());
241242
return true;

src/Controls/tests/Xaml.UnitTests/Issues/Issue20438.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<ContentPage.BindingContext>
88
<local:Issue20438ViewModel/>
99
</ContentPage.BindingContext>
10-
<StackLayout>
10+
<StackLayout x:DataType="local:Issue20438ViewModel">
1111
<DatePicker x:Name="datePicker"
1212
Date="{Binding SelectedDate}"/>
1313
<TimePicker x:Name="timePicker"

0 commit comments

Comments
 (0)