WPF如何重置Combobox下拉菜单里的值为初始状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF如何重置Combobox下拉菜单里的值为初始状态相关的知识,希望对你有一定的参考价值。


<!-- 下拉框只读切换按钮 -->

<Style x:Key="ComboBoxReadonlyToggleButton" TargetType="x:Type ToggleButton">

<Setter Property="OverridesDefaultStyle" Value="true"/>

<Setter Property="IsTabStop" Value="false"/>

<Setter Property="Focusable" Value="false"/>

<Setter Property="ClickMode" Value="Press"/>

<Setter Property="Template">

<Setter.Value>

<ControlTemplate TargetType="x:Type ToggleButton">

<Border x:Name="Chrome"

BorderBrush="TemplateBinding BorderBrush" 

Background="TemplateBinding Background" 

CornerRadius="3" 

BorderThickness="0"

Margin="0,0,-0.2,0"

SnapsToDevicePixels="true">

<Grid HorizontalAlignment="Right" Width="DynamicResource x:Static SystemParameters.VerticalScrollBarWidthKey">

<Path x:Name="Arrow" 

Data="StaticResource DownArrowGeometry" 

Fill="Black" 

HorizontalAlignment="Center" 

Margin="1,1,0,0" 

VerticalAlignment="Center"/>

</Grid>                         

</Border>

<ControlTemplate.Triggers>

<!-- 默认的按钮样式 -->

<Trigger Property="IsEnabled" Value="true">

<Setter Property="Fill" TargetName="Arrow" Value="#AFAFAF"/>

<Setter Property="Background" TargetName="Chrome" Value="StaticResource ButtonNormalBackground"/>

</Trigger>

<!-- 鼠标经过时的样式 -->

<Trigger Property="IsMouseOver" Value="true">

<Setter Property="Background" TargetName="Chrome" Value="StaticResource ButtonMouseOverBackground"/>

</Trigger>

<!-- 鼠标获得焦点时的样式 -->

<Trigger Property="IsFocused" Value="true">

<Setter Property="Background" TargetName="Chrome" Value="StaticResource ButtonFocusedBackground"/>

</Trigger>

</ControlTemplate.Triggers>

</ControlTemplate>

</Setter.Value>

</Setter>

</Style>

参考技术A 你拿一个变量 记录一下 初始值 就可以啊。。。想恢复的时候 就拿初始值 去替换啊~本回答被提问者采纳

C# winform 下拉列表控件(comboBox)

窗体上有两个comboBox 控件 ,comboBox1的选项值改变时,comboBox2的选项值跟着改变
新人入门 求解……谢谢各位大虾们

在comboBox1的selectedindex_changed事件里面加入类似如下代码:
comboBox2.Text="123".这样当你选择ComboBox1的值的时候ComboBox2的text会跟着改变,如果你想改变ComboBox里面的元素的话就这么写:comboBox2.Items.clear();comboBox2.Items.Add(newone);类似这样就可以了
参考技术A comboBox1增加textchange之类的事件,在事件里 把comboBox1的值赋给comboBox2就可以了追问

如果comboBox1 选择的下标为 0 ,comboBox2 就选择 0
comboBox1 选择 1,comboBox2 就选择1
两个comboBox 里面的值是固定的 根据comboBox1的下标 来确定comboBox2 的下标
怎么写?

追答

comboBox1 .SelectedIndexChange += new Evernt...(myWork)//自动生成一个事件处理函数myWork()里,comboBox2 .SelectIndex = ComBox1.SelectedIndex

参考技术B 在comboBox1的selectedindex_changed事件里面加入类似如下代码:
ComboBox2.Selectedindex=comboBox1.Selectedindex;
这样写的话,必须保证两个列表的项一致,否则会报错的。

以上是关于WPF如何重置Combobox下拉菜单里的值为初始状态的主要内容,如果未能解决你的问题,请参考以下文章

请教如何获取easyui-combobox下拉菜单的多个选中值

wpf中鼠标放到combobox的下拉菜单选项上,该选项就会改变背景颜色,怎么取消变色?

请教如何获取easyui-combobox下拉菜单的多个选中值

在WPF中怎么将ComboBox的下拉列表的数据进行绑定?还有能不能TXT文件中的列表?

WPF{ComboBox绑定类对象, 下拉列显示的值,与取到的值}

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