我是WPF的新手,无法实现以下方案: 三个下拉框并排。我尝试过使用Combo Box。我试图在图像的帮助下解释这些问题 示例:(参考图片)
我尝试在这两个帖子的帮助下实现这一点,我最接近的就是我在上面的示例中提到的:How to display default text "--Select Team --" in combo box on pageload in WPF?和Name on combobox in WPF
PS:姓名/学校/电子邮件不是水印。它们是按钮的标题,默认情况下,当您登陆该页面/窗口时。 任何帮助/资源都表示赞赏。
答案 0 :(得分:0)
如果您要在代码隐藏中进行编码,可以使用组合框的选择更改事件来设置每个组合的文本:
div
在名称组合框的选择更改中执行以下操作:
<StackPanel Grid.Row="1" Orientation="Horizontal">
<ComboBox x:Name="cmbName" ItemsSource="{Binding NameList, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Text="Name"
SelectionChanged="cmbName_SelectionChanged" MinWidth="80" Margin="10" IsEditable="True" IsReadOnly="True"/>
<ComboBox x:Name="cmbSchool" ItemsSource="{Binding SchoolList, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Text="School"
SelectionChanged="cmbSchool_SelectionChanged" MinWidth="80" Margin="10" IsEditable="True" IsReadOnly="True"/>
<ComboBox x:Name="cmbEmail" ItemsSource="{Binding EmailList, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Text="Email"
SelectionChanged="cmbEmail_SelectionChanged" MinWidth="80" Margin="10" IsEditable="True" IsReadOnly="True"/>
</StackPanel>
对每个其他组合框执行相同操作;只需分别更改组合框名称。
如果您正在使用MVVM,则绑定每个组合框的SelectedItem和Text属性,并编写一个公共方法,该方法将所选项目设置为null,并且还分别设置每个绑定SelectedItems的setter内的text属性。