【问题标题】:Get the value of checkbox in wpf获取wpf中复选框的值
【发布时间】:2017-11-17 15:41:30
【问题描述】:

下面是我正在使用的xaml 代码。我正在尝试在代码隐藏中获取复选框值。

<ListBox ItemsSource="{Binding AvailablePresentationObjects}" >
  <ListBox>
    <CheckBox Content="Puma" IsChecked="{Binding IsChecked}"/>
    <CheckBox Content="NIke" IsChecked="{Binding IsChecked}"/>
    <CheckBox Content="Adidas" IsChecked="{Binding IsChecked}"/>
    <CheckBox Content="reebok" IsChecked="{Binding IsChecked}"/>
  </ListBox>
</ListBox>
<Button x:Name="btnLaunchCache" HorizontalAlignment="Right" 
        IsEnabled="{Binding Path=IsButtonEnabled,Mode=TwoWay}" 
        Click="BtnLaunchCache_Click">
<TextBlock>Submit</TextBlock>

【问题讨论】:

  • 编辑:现在我们可以看到整个标记:为什么要将一个列表框放在一个充满复选框的列表框内,并添加一个到项目源的绑定并绑定所有复选框到同一个来源。会不会是您知道自己在做什么?
  • 前。如果用户选择了 puma 复选框,我需要获取,可能是我做错了,我是新手。请建议我怎么做。

标签: wpf checkbox


【解决方案1】:

您可以在复选框中添加“x:Name”属性:

   <CheckBox x:Name="chkPuma" Content="Puma" IsChecked="{Binding IsChecked}"/>

然后就可以在后面的代码中访问“chkPuma.IsChecked”了。

【讨论】:

  • 这当然可以,但会破坏现有视图模型的目的。手动添加的复选框可能根本不存在。
  • 谢谢@Robin,这正是我所需要的。
  • @eth_92 当然,Manfred 是对的,这有点违背整个想法。我建议您在 Web 上了解一下 MVVM,以便将逻辑与视图很好地分离。
猜你喜欢
  • 1970-01-01
  • 2016-11-20
  • 2013-09-28
  • 2018-02-05
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多