我的用户控件上有两个组合框。我的目标是,当第一个被选中(里面有一个项目)时,第二个应该处于活动状态。以下是代码片段:
<UserControl x:Class="RestoreComputer.Views.ConfigView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="60"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="20,0,0,0" Height="50">
<ComboBox Name="_server" ItemsSource="{Binding Path=Servers}" SelectedItem="{Binding Server}" IsSynchronizedWithCurrentItem="True" Width="100" VerticalContentAlignment="Center" Text="18"/>
<Image Source="../Images/narrow.png" Margin="10,0,10,0"/>
<ComboBox Name="_computer" IsEnabled="False"/>
</StackPanel>
</Grid>
</UserControl>
当第一个是项目选择时,如何激活第二个组合框?
活动-你的意思是“启用”?
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex != -1)
{
comboBox2.Enabled = true;
}
else
{
comboBox2.Enabled = false;
}
}
甚至更简单
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox2.Enabled = comboBox1.SelectedIndex != -1;
}
在第一个组合框上创建一个选择改变事件:(这可以在wpf或您的加载事件中完成)
_server.SelectionChanged += OnSelectionChanged;
获取方法
private void OnSelectionChanged(object o, eventArgs e)
{
//Do whatever you want to do with the selection data
DoSomething();
//Focus the second combobox:
_computer.Focus();
}
由于您已经在使用数据绑定,因此您可以在视图模型中创建一个布尔属性,并在设置Server属性时将其设置为true。并将该属性绑定到您的第二个启用组合框的属性。
在您的视图中模型
private bool comboEnabled = false;
public bool ComboEnabled
{
get
{
return comboEnabled;
}
set
{
comboEnabled = value;
onPropertyChanged("ComboEnabled");
}
}
//and in your Server property
public Server
{
get---YourCode{}
set
{
if(value != null)
ComboEnabled = true;
---Yourcode
}
}
//and in your xaml
<ComboBox Name="_computer" IsEnabled="{Binding ComboEnabled }"/>
日安, 我希望我的组合框选择其中的第一个项目。我正在使用C#和WPF。我从DataSet读取数据。要填充组合框: 组合框XAML代码: 如果我尝试: 它不起作用。
我有3个组合框,当我选择第一个组合框时,我希望第二个组合框的第一项和第三个组合框被自动选择。当选择第二个组合框的第一项时,将触发第三个组合框的on选择事件,但参数未定义 当我选择第一个组合框的项目时,这里的是未定义的。当我选择第二个组合框的项目时,它不是 为什么?
所以,我有一个奇怪的问题,我从组合框列表中选择一个项目,为了填充第二个组合框,我必须首先从第一个组合框中再次选择单词,而不是从项目列表中,而是单词本身。只有这样,代码才会注册我选择了该项目。我拥有的代码是简单的$variable.SelectedItem。参见下面的代码; 我想做的就是从下拉列表中选择位置“医院”,然后第二个名为“$ComboBox_Printer”的组合框填充我服务器中的打印机名
问题内容: 我有一个生成的DataFrame,如下所示: 结果如下: 如您所见,DataFrame按升序排列,然后按降序排列。 我想选择每个组的第一行,即 从小时== 0的组中选择(0,cat26,30.9) 从小时= 1的组中选择(1,cat67,28.5) 从小时== 2的组中选择(2,cat56,39.6) 等等 因此,所需的输出将是: 能够选择每个组的前N行也可能很方便。 任何帮助都将受到
我正在尝试使用两个ttk组合框从sqlite数据库中获取数据。我设法使用combo_division()函数在一个名为的组合框中列出项目。现在我试图对第二个名为产品菜单的组合框做类似的事情,但是列表需要根据组合框中的第一个选定项目缩小范围。 为了让SQL查询传递第二个组合框所需的信息,我想到了这样的东西: 到目前为止两个组合框的代码:
问题内容: 我们正在使用Selenium WebDriver和JBehave在我们的Web应用程序上运行“集成”测试。我有一种方法,可以在表单输入中输入一个值。 但是,当我尝试使用它在下拉列表中选择一个项目时,它(毫无疑问)失败了 java.lang.UnsupportedOperationException:您只能设置作为输入元素的元素的值 如何在组合中选择一个值? 问题答案: 这是怎么做的: