WPF中checkBox关联一个Combox,设置Combox的IsEnable=False,过程中再True

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF中checkBox关联一个Combox,设置Combox的IsEnable=False,过程中再True相关的知识,希望对你有一定的参考价值。

WPF中checkBox关联一个Combox,开始时设置Combox(Name = Cmb1)的IsEnabled属性为False,单机checkBox时Cmb1.Enable=True,希望在过程中如果我再点击checkBox时Combox再成为False,怎么写呢?

参考技术A     <Grid>
        <CheckBox Name="ch" HorizontalAlignment="Left" 
                  VerticalAlignment="Center">checkBox1</CheckBox>
        <ComboBox Name="Cmb1" 
                  IsEnabled="Binding ElementName=ch, Path=IsChecked, Mode=OneWay" 
                  MinWidth="80" HorizontalAlignment="Center" 
                  VerticalAlignment="Center">Cmb1</ComboBox>
    </Grid>

追问

谢谢,你的方法我试过了!真的很棒。不过我还想问一下,比如如果是在后台代码实现的话怎么写呢?在.CS实现方便还是在.XAML里实现方便呢?
还有就是如果有一组checkBox,只要有任何一个checkBox选项被选中,Combox就可以IsEnabled,当且仅当没有任何一个checkBox选项被选中时,Combox的IsEnabled=False。
请继续回答下,我提高悬赏了

追答

那得定义itemscontrol和itemtemplate,代码有点多,你现在知识也不容易明白。

追问

...可是我现在真的需要知道啊。。我在做的这第一个WPF项目里有这个内容,就是这样

追答

你可以私信我晚上给你做做。

追问

好的!真的感谢你的帮忙!谢谢谢谢!!我发给你

本回答被提问者采纳

WPF combox 显示

为了让ComboBox显示某个属性而选中值是另外一个属性,一定要做的是:

1.xaml代码

<ComboBox x:name="cb"  Width="150" SelectedValuePath="ID" SelectionChanged="groupComboBox_SelectionChanged"
DisplayMemberPath="name" SelectedValue="{Binding strGroupID}"/>

2.设置ItemsSource

后台: cb.ItemsSource=userList;

3.userList的类型是List<User>

4.User类

public class User

{

public string name {get;set;}//一定要写{get;set;},否则实际运行时,cb可以看到数据源个数,但不显示

public string ID {get;set;}

}

5.另外

SelectedValue="{Binding strGroupID}"部分与itemssource的数据类型没有关系,具体要看cb所属面板的DataContext 对应类,如A。

这里只是代表最终cb的选中项会保存在A的strGroupID属性中。

 

以上是关于WPF中checkBox关联一个Combox,设置Combox的IsEnable=False,过程中再True的主要内容,如果未能解决你的问题,请参考以下文章

wpf里combobox怎么取数据

wpf里combobox怎么取数据

wpf combox 在哪里设置下拉框的宽度和高度

wpf中 combox怎样使用

C#的wpf如何实现combox的每个item都有tooltip?

Wpf combobox 控件响应时间