Это не то, как DateTime работает в C #, позвольте мне привести пример:
// This will print '01.01.2000 00:00:00'
Console.WriteLine(DateTime.ParseExact("01/01/1970", "dd/MM/yyy", CultureInfor.InvariantCulture));
Это ожидается, потому что каждое свойство в структуре DateTime имеет значение после конструктора, 00:00:00
является просто значением по умолчанию. То, что вам нужно сделать, это отформатировать его там, где вы его отображаете (как на этикетке), используя StringFormat
и спецификатор формата для DateTime , который вам, вероятно, нужен - d
. Итак, ваш xaml должен выглядеть так:
<StackLayout Orientation="Horizontal">
<Label HorizontalOptions="Center" VerticalOptions="Center" Text="{Binding StartDate, StringFormat='{0:d}'}" />
<Label HorizontalOptions="Center" VerticalOptions="Center" Text="To" />
<Label HorizontalOptions="Center" VerticalOptions="Center" Text="{Binding EndDate, StringFormat='{0:d}'}" />
</StackLayout>