2016-07-26 3 views
1

datePickercomboBoxで構成されるアプリケーションを作成しました。 comboBoxには、0から5までの番号のリストがあります。ユーザが「1」を選択すると、私はdatePickerを有効にしますが、ユーザが何か他のものを選択した場合は、datePickerを無効にします。しかし何らかの理由でこのコードは機能せず、datePickerは常に無効になっています。"if文"を使用してdatepickerを無効にする方法wpf

<ComboBox x:Name="cbxNoClaims" Loaded="cbxNoClaims_Loaded" Grid.Row="13" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Top" Width="120"/> 
<DatePicker Name="dpkClaim1" Loaded="dpkClaim1_Loaded" Grid.Row="13" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Top"/> 

MainWindow.xaml.cs

private void cbxNoClaims_Loaded(object sender, RoutedEventArgs e) 
{ 
    // ... A List. 
    List<string> claim = new List<string>(); 
    claim.Add("0 "); 
    claim.Add("1"); 
    claim.Add("2"); 
    claim.Add("3"); 
    claim.Add("4"); 
    claim.Add("5"); 


    // ... Get the ComboBox reference. 
    var comboBox = sender as ComboBox; 

    // ... Assign the ItemsSource to the List. 
    comboBox.ItemsSource = claim; 
    comboBox.SelectedIndex = 0; 
} 

private void dpkClaim1_Loaded(object sender, RoutedEventArgs e) 
{ 
    DatePicker datePicker = sender as DatePicker; 
    if ((string)cbxNoClaims.Item== "1") 
    { 
     dpkClaim1.IsEnabled = true; 

    } 
    else dpkClaim1.IsEnabled = false; 

} 
+0

「'SelectedItem'は、あなたも、あなたがそれを書いた方法をせずに' sender'を必要としない –

答えて

3

は、コンボボックスの選択変更イベントを使用し

XAMLは休閑として

私のコードです。

XAML:

<ComboBox x:Name="cbxNoClaims" SelectionChanged="cbxNoClaims_SelectionChanged" Grid.Row="13" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Top" Width="120"/> 

コード:

private void cbxNoClaims_SelectionChanged(object sender, RoutedEventArgs e) 
{ 
    if (cbxNoClaims.SelectedItem.ToString() == "1") 
    { 
     dpkClaim1.IsEnabled = true; 
    } 
    else 
    { 
     dpkClaim1.IsEnabled = false; 
    } 
} 
+1

どちらか動作するようには思えません。 :) – Donnie

+0

今すぐ読んでください@Donnie –

+0

これはおかげでみんな働いた:) –

関連する問題