【发布时间】:2017-06-02 18:45:00
【问题描述】:
我的 xamarin 表单应用程序中有一个自定义时间选择器渲染器
在我的渲染器中
protected override void OnElementPropertyChanged(object sender,
PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
try
{
if (e.PropertyName == iOSCustomTimePicker.TimeProperty.PropertyName)
{
var temp = sender as iOSCustomTimePicker;
picker.Hour = temp.Time.Hours;
picker.Minute = temp.Time.Minutes;
//TimeSpan value = new TimeSpan(8, 0, 0);
//this.Element.SetValue(iOSCustomTimePicker.TimeProperty, value);
}
}
catch (Exception e1)
{
}
}
我在 xaml 中使用它
<control:iOSCustomTimePicker x:Name="cli_staffrequest_addShiftTime_timePicker1" Grid.Column="2" Grid.Row="1" Time="{Binding ShiftEndTimeSelected}"
HorizontalOptions="Fill" VerticalOptions="Fill" StyleId="uit_staffHiring_addShifts__timePicker1"/>
因此,当 ViewModel 中的 ShiftEndTimeSelected 发生变化时,我会在 OnElementPropertyChanged 中受到影响并更改时间
现在我的问题是有时我在 OnElementPropertyChanged 中获得无限命中 从而无限调用垃圾收集器。如何找出问题所在。我对 xamarin Forms 完全陌生
【问题讨论】:
标签: xamarin xamarin.forms timepicker