2016-04-03 15 views
0

Genel bakış: Kullanıcı arayüzüne bir Zaman Ayarlayıcı denetimi ekledim ve ilişkili özellik ViewModel'deki bir DateTime özelliğine Zaman özelliği bağladım.Timepicker özelliği üzerinde ayarlanmış olmayan ayarlayıcı nasıl hata ayıklanır?

Ancak, çözümde hata ayıkladığında, ayarlayıcı SelectedParkDuration numaralı özelliğe çağrılmaz.

Daha da fazla hata ayıklamak için UI'nin veri içeriğini kontrol ettim. Veri içeriği doğru ayarlanmış ve Timepicker'ın alıcısı çağrılmaktadır.

Soru: Çalışma zamanında zaman seçicisinde bir değer seçtiğimde ayarlayıcının neden çağrılmadığını bilen var mı?

saat seçici denetimi tanımı:

    <TimePicker Grid.Row="2" 
        Grid.Column="1" 
        Width="270" 
        Height="100" 
        HorizontalAlignment="Center" 
        VerticalAlignment="Bottom" 
        Header="Parking Duration" 
        Time="{Binding SelectedParkDuration}" 
        /> 

Zaman seçici özelliği - UI ViewModel tanımlanan SelectedParkDuration:

private DateTime _selectedParkDuration; 
    public DateTime SelectedParkDuration 
    { 
     get 
     { 
      return this._selectedParkDuration; 
     } 

     set 
     { 
      if (_selectedParkDuration != value) 
      { 
       _selectedParkDuration = value; 
       RaisePropertyChanged("SelectedParkDuration"); 
      } 
     } 
    } 
+2

Kişisel bağlayıcı modu TwoWay olmalıdır Ayrıca gerekli mülkün tip tip TimeSpan olmak –

cevap

1

çözüm @Ken Tucker önerildiği gibi bağlayıcı iki yönlü belirtmektir. TimePicker ait

private TimeSpan? _selectedParkDuration; 
    public TimeSpan? SelectedParkDuration 
    { 
     get 
     { 
      return this._selectedParkDuration; 
     } 

     set 
     { 
      if (_selectedParkDuration != value) 
      { 
       _selectedParkDuration = value; 
       RaisePropertyChanged("SelectedParkDuration"); 
      } 
     } 
    } 

Xaml tanımı:

<TimePicker Grid.Row="2" 
         Grid.Column="1" 
         Width="270" 
         Height="100" 
         HorizontalAlignment="Center" 
         VerticalAlignment="Bottom" 
         Header="Parking Duration" 
         Time="{Binding SelectedParkDuration, 
             Mode=TwoWay}" /> 
İlgili konular