c# - 如何使用 "if statement"wpf 禁用日期选择器

标签 c# wpf xaml

我制作了一个包含datePickercomboBox 的应用程序。 comboBox 有一个数字列表,范围从 0 到 5。当用户选择“1”时,我希望启用我的 datePicker,但如果用户选择其他任何内容,我想要禁用 datePicker。但是由于某些原因,此代码不起作用,datePicker 始终处于禁用状态。

我的代码是休闲的

xaml

<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"/>

主窗口.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;

}

最佳答案

在组合框上使用选择更改事件。

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;
    }
}

关于c# - 如何使用 "if statement"wpf 禁用日期选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38600783/

相关文章:

C# 奇怪的 WPF 组合框行为

visual-studio - 编辑 XAML/Silverlight 文件时的 Visual Studio 性能

xaml - 如何让默认的 shell 弹出图标在 android 深色主题打开/关闭时使用react

wpf - 在 WPF 中本地化 ContextMenu 项标题

c# - 异步/等待、自定义等待程序和垃圾收集器

c# - 使用 C# 获取目录中带有 *.tif 文件掩码的文件

c# - 如何从 Web 服务环境返回 302 重定向

c# - 用于 UWP 应用程序的 Azure 服务总线

c# - 非事件项目的列表框系统颜色?

.net - WPF 中的 ToolStripDropDownButton 等价物?