Xamarin Forms Converter 在页面消失时被调用?
Xamarin Forms Converter being called on page disappearing?
<Label Grid.Row="0" Grid.Column="1"
Text="{Binding Date, Converter={StaticResource localTimeConverter}, StringFormat='{0:MMMM dd, yyyy}'}"
LineBreakMode="NoWrap"
FontSize="16"
Style="{DynamicResource FieldLabel}"/>
我有上面的 Xaml 和下面的转换器:
public class UtcToLocalDateTimeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((DateTime)value).ToLocalTime();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
但是,当页面启动时不会调用转换器,而是在离开页面时调用它。我在 convert 方法中添加了一个断点,这就是调用该方法的时间。这很混乱!?
有人可以提供帮助吗?
哎呀!这是我的错。
我将转换器添加到 ListView 的 SelectedItemTemplate 而不是 ListView 的 ItemTemplate。这就是转换器从未被调用的原因。现已全部修复。
<Label Grid.Row="0" Grid.Column="1"
Text="{Binding Date, Converter={StaticResource localTimeConverter}, StringFormat='{0:MMMM dd, yyyy}'}"
LineBreakMode="NoWrap"
FontSize="16"
Style="{DynamicResource FieldLabel}"/>
我有上面的 Xaml 和下面的转换器:
public class UtcToLocalDateTimeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((DateTime)value).ToLocalTime();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
但是,当页面启动时不会调用转换器,而是在离开页面时调用它。我在 convert 方法中添加了一个断点,这就是调用该方法的时间。这很混乱!?
有人可以提供帮助吗?
哎呀!这是我的错。
我将转换器添加到 ListView 的 SelectedItemTemplate 而不是 ListView 的 ItemTemplate。这就是转换器从未被调用的原因。现已全部修复。