【问题标题】:How do i enable/disable a TextBox and a label based on Check Box in WPF?如何启用/禁用基于 WPF 中复选框的文本框和标签?
【发布时间】:2019-03-04 04:16:33
【问题描述】:

如何根据 WPF 中的checkbox 输入启用或禁用Labeltextbox??

复选框

<CheckBox Style="{StaticResource CheckBoxStyle1}"  Foreground="#FFF9F3F3" HorizontalAlignment="Left" Margin="32.844,-5.293,0,0" Width="216" Content="Sim Needs Passwprd?" Grid.Column="1" Grid.Row="2" Height="18.043" VerticalAlignment="Top" FontSize="14" Background="#FFF4F4F4"/>

文本框和标签

<Label  Style="{StaticResource LabelTitle}" Content="Sim User Name" Margin="14.439,17.192,-83.497,15"  d:IsStaticText="True" Background="#00D32626" x:Name="Label_SimUName" d:LayoutOverrides="Width, Height" Grid.Row="2" />
<Border Style="{StaticResource BorderTextBox}" Grid.Column="1" Grid.Row="2" Margin="29.844,15.885,0,16.307" d:LayoutOverrides="Height" HorizontalAlignment="Left" Width="288">
    <TextBox Style="{StaticResource ValueTextBox_Sim}" HorizontalAlignment="Stretch" Margin="0,0,0,0"  Grid.Column="1" Text="TextBox" x:Name="TextBox_SimUName" ClipToBounds="False" VerticalAlignment="Stretch" Width="286"/>
</Border>

<Label  Style="{StaticResource LabelTitle}" Content="Sim Password" Margin="14.439,-4,-83.497,0"  d:IsStaticText="True" Background="#00D32626" x:Name="Label_SimPassword" d:LayoutOverrides="Width, Height" Grid.Row="3" VerticalAlignment="Top" />
<Border Style="{StaticResource BorderTextBox}" Grid.Column="1" Grid.Row="3" Margin="29.844,-5.307,0,0" d:LayoutOverrides="Height" HorizontalAlignment="Left" Width="288" VerticalAlignment="Top">
    <TextBox Style="{StaticResource ValueTextBox_Sim}" HorizontalAlignment="Stretch" Margin="0,0,0,0"  Grid.Column="1" Text="TextBox" x:Name="TextBox_SimPassword" ClipToBounds="False" VerticalAlignment="Stretch" Width="288"/>
</Border>

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 请解决您的问题,它很难阅读。如果您不确定如何使用格式化工具,请浏览帮助
  • 你能帮我做同样的事情吗?因为这一点我是新手,而且我学得很慢。
  • 你想通过XML还是c#来解决?
  • @我已经为元素定义了一定的样式,如果通过XML样式会很有帮助。

标签: c# wpf xaml user-interface


【解决方案1】:
  1. 在复选框上创建事件
  2. 使用这个 C# 命令:

    yourObject.IsEnabled = true/false;


更多帮助:Disable button in WPF?

【讨论】:

    【解决方案2】:

    将选中和未选中的事件添加到您的复选框中,如下面的 XAML 中

    <CheckBox Style="{StaticResource CheckBoxStyle1}"   Foreground="#FFF9F3F3" HorizontalAlignment="Left" Margin="32.844,-5.293,0,0" 
    Width="216" Content="Sim Needs Passwprd?" Grid.Column="1" Grid.Row="2" Height="18.043" VerticalAlignment="Top" FontSize="14" Background="#FFF4F4F4" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked"/>
    

    并在其 .cs 文件中执行此操作。

        private void CheckBox_Checked(object sender, RoutedEventArgs e)
        {
            TextBox_SimPassword.IsEnabled = false;
            Label_SimPassword.IsEnabled = false;
        }
    
        private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
        {
            TextBox_SimPassword.IsEnabled = true;
            Label_SimPassword.IsEnabled = true;
        }
    

    您可以根据未选中或选中的事件启用文本框和标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-17
      • 1970-01-01
      • 2019-03-31
      • 2013-10-11
      • 2011-06-02
      • 2014-07-05
      • 1970-01-01
      • 2010-12-04
      相关资源
      最近更新 更多