datePicker
とcomboBox
で構成されるアプリケーションを作成しました。 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;
}
「'SelectedItem'は、あなたも、あなたがそれを書いた方法をせずに' sender'を必要としない –