Combobox允许从多个选项中选择一个(类似于下拉列表),或者键入自定义选项。
我想通过更改文本框名称来更新组合框选定的项目名称。在不损失组合框价值的情况下,我怎样才能实现它? 私人无效addItem_Click(对象发送者,EventArgs e) { nameItem.Ena...
如何使用ControlPaint.DrawBorder方法修改ComboBox的边框颜色?
我有一个需求,设置Combobox控件的边框颜色。 我在 Google 上搜索了实现 ControlPaint.Drawborder 的示例代码。 我发现的并不理想。
有什么方法可以将分隔符添加到数据绑定的 WPF 组合框中吗? 即在我的 xaml 中,组合框的 ItemsSource="{Binding TheList}"。 该列表是一个可观察的对象集合,其中 i
具有简单 DropDownStyle 的 ComboBox 不显示下拉列表
我想使用组合框,其中 DropDownStyle=Simple,当在框中输入某些内容时,它会更改项目列表。 项目加载正常,我可以在
C# dataGridView ComboBox - 首次选择问题
我有一个带有一些 ComboBoxColumns 的 dataGridView 。 我注意到,当我试图通过以下方式获取第一个选择的值时 dataGridView.CurrentCell.Value?.ToString() 第一个选择是空的...
有谁知道当组合框或列表框等控件具有焦点时禁用鼠标滚轮的方法?就我的目的而言,组合框就是我所需要的答案。 我有一个组合框设置为
Mantine React Combobox 如何获取密钥。表单下拉选项
const listOptions = FilteredOptions.map((item) => ( {项目.标签} )); 返回 ( const listOptions = filteredOptions.map((item) => ( <Combobox.Option value={item.label} key={`${item.id}`}> {item.label} </Combobox.Option> )); return ( <Combobox onOptionSubmit={(value, (Ideally key is here) => { console.log('value', value); console.log('key', key); <-- how do I fetch this value? }} 鉴于我的密钥是我的项目的 ID,我想从我的 Combobox.Option 中获取密钥值。我目前找不到任何优雅的方法来做到这一点。有什么建议吗? const opts = [ { id: 1, label: 'Option 1' }, { id: 2, label: 'Option 2' }, { id: 3, label: 'Option 3' }, ]; return ( <Combobox onOptionSubmit={(val) => { const { id, label } = JSON.parse(val); console.log('Selected label:', label); console.log('Corresponding id:', id); }} > {opts.map((i) => ( <Combobox.Option value={JSON.stringify({ id: i.id, label: i.label })} key={i.id} > {i.label} </Combobox.Option> ))} </Combobox> );
我是 WPF 应用程序的新手。我需要像这个图片一样自定义我的组合框。 我试过这个例子 http://www.eidias.com/Blog/2012/2/20/customizing-wpf-combo-box-style 我是 WPF 应用程序的新手。我需要像这个图片一样自定义我的组合框。 我已经尝试过这个例子 http://www.eidias.com/Blog/2012/2/20/customizing-wpf-combo-box-style <Window x:Class="win.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300" Background="Red"> <Window.Resources> <ControlTemplate x:Key="CustomToggleButton" TargetType="ToggleButton"> <Grid> <Border Name="Border" /> <Border Name="SmallBorder" /> <Path Name="Arrow" /> </Grid> </ControlTemplate> <Style TargetType="{x:Type ComboBoxItem}"> <Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" /> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ComboBoxItem}"> <Border> <ContentPresenter /> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style TargetType="{x:Type ComboBox}"> <Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" /> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate TargetType="ComboBox"> <Grid> <ToggleButton Template="{StaticResource CustomToggleButton}" /> <ContentPresenter /> <TextBox /> <Popup> <Grid> <Border> <ScrollViewer> <ItemsPresenter /> </ScrollViewer> </Border> </Grid> </Popup> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <Grid> <ComboBox Grid.Column="1" Height="40" Width="200" > <ComboBoxItem Name="item1">item1</ComboBoxItem> <ComboBoxItem Name="item2">item2</ComboBoxItem> <ComboBoxItem Name="item3">item3</ComboBoxItem> </ComboBox> </Grid> </Window> 这个输出就像文本框一样。请帮助我! 我也喜欢这种格式并决定复制它。请找到下面的 XAML。希望它对某人有帮助... <Window x:Class="ComboStyle.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <ControlTemplate x:Key="ComboBoxToggleButton" TargetType="{x:Type ToggleButton}"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="20" /> </Grid.ColumnDefinitions> <Border x:Name="Border" Grid.ColumnSpan="2" CornerRadius="0" Background="#FF3F3F3F" BorderBrush="#FF97A0A5" BorderThickness="1" /> <Border Grid.Column="0" CornerRadius="0" Margin="1" Background="#FF3F3F3F" BorderBrush="#FF97A0A5" BorderThickness="0,0,1,0" /> <Path x:Name="Arrow" Grid.Column="1" Fill="White" HorizontalAlignment="Center" VerticalAlignment="Center" Data="M0,0 L0,2 L4,6 L8,2 L8,0 L4,4 z" /> </Grid> <!--<ControlTemplate.Triggers> <Trigger Property="ToggleButton.IsMouseOver" Value="true"> <Setter TargetName="Border" Property="Background" Value="#808080" /> </Trigger> <Trigger Property="ToggleButton.IsChecked" Value="true"> <Setter TargetName="Border" Property="Background" Value="#E0E0E0" /> </Trigger> <Trigger Property="IsEnabled" Value="False"> <Setter TargetName="Border" Property="Background" Value="#EEEEEE" /> <Setter TargetName="Border" Property="BorderBrush" Value="#AAAAAA" /> <Setter Property="Foreground" Value="#888888"/> <Setter TargetName="Arrow" Property="Fill" Value="#888888" /> </Trigger> </ControlTemplate.Triggers>--> </ControlTemplate> <ControlTemplate x:Key="ComboBoxTextBox" TargetType="{x:Type TextBox}"> <Border x:Name="PART_ContentHost" Focusable="False" Background="{TemplateBinding Background}" /> </ControlTemplate> <Style x:Key="{x:Type ComboBox}" TargetType="{x:Type ComboBox}"> <Setter Property="SnapsToDevicePixels" Value="true"/> <Setter Property="OverridesDefaultStyle" Value="true"/> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/> <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/> <Setter Property="ScrollViewer.CanContentScroll" Value="true"/> <Setter Property="MinWidth" Value="120"/> <Setter Property="MinHeight" Value="20"/> <Setter Property="Foreground" Value="White"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ComboBox}"> <Grid> <ToggleButton Name="ToggleButton" Template="{StaticResource ComboBoxToggleButton}" Grid.Column="2" Focusable="false" IsChecked="{Binding Path=IsDropDownOpen,Mode=TwoWay,RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press"> </ToggleButton> <ContentPresenter Name="ContentSite" IsHitTestVisible="False" Content="{TemplateBinding SelectionBoxItem}" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" Margin="3,3,23,3" VerticalAlignment="Center" HorizontalAlignment="Left" /> <TextBox x:Name="PART_EditableTextBox" Style="{x:Null}" Template="{StaticResource ComboBoxTextBox}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="3,3,23,3" Focusable="True" Background="#FF3F3F3F" Foreground="Green" Visibility="Hidden" IsReadOnly="{TemplateBinding IsReadOnly}"/> <Popup Name="Popup" Placement="Bottom" IsOpen="{TemplateBinding IsDropDownOpen}" AllowsTransparency="True" Focusable="False" PopupAnimation="Slide"> <Grid Name="DropDown" SnapsToDevicePixels="True" MinWidth="{TemplateBinding ActualWidth}" MaxHeight="{TemplateBinding MaxDropDownHeight}"> <Border x:Name="DropDownBorder" Background="#FF3F3F3F" BorderThickness="1" BorderBrush="#888888"/> <ScrollViewer Margin="4,6,4,6" SnapsToDevicePixels="True"> <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" /> </ScrollViewer> </Grid> </Popup> </Grid> <ControlTemplate.Triggers> <Trigger Property="HasItems" Value="false"> <Setter TargetName="DropDownBorder" Property="MinHeight" Value="95"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Foreground" Value="#888888"/> </Trigger> <Trigger Property="IsGrouping" Value="true"> <Setter Property="ScrollViewer.CanContentScroll" Value="false"/> </Trigger> <Trigger SourceName="Popup" Property="Popup.AllowsTransparency" Value="true"> <Setter TargetName="DropDownBorder" Property="CornerRadius" Value="0"/> <Setter TargetName="DropDownBorder" Property="Margin" Value="0,2,0,0"/> </Trigger> <Trigger Property="IsEditable" Value="true"> <Setter Property="IsTabStop" Value="false"/> <Setter TargetName="PART_EditableTextBox" Property="Visibility" Value="Visible"/> <Setter TargetName="ContentSite" Property="Visibility" Value="Hidden"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> </Style.Triggers> </Style> <!-- SimpleStyles: ComboBoxItem --> <Style x:Key="{x:Type ComboBoxItem}" TargetType="{x:Type ComboBoxItem}"> <Setter Property="SnapsToDevicePixels" Value="true"/> <Setter Property="Foreground" Value="White"/> <Setter Property="OverridesDefaultStyle" Value="true"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ComboBoxItem}"> <Border Name="Border" Padding="2" SnapsToDevicePixels="true"> <ContentPresenter /> </Border> <ControlTemplate.Triggers> <Trigger Property="IsHighlighted" Value="true"> <Setter TargetName="Border" Property="Background" Value="#FF4F4F4F"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Foreground" Value="#888888"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <Grid> <Border Padding="10" Background="#FF3F3F3F"> <ComboBox Grid.Column="1" Height="30" Width="250" > <ComboBoxItem Name="Item1">Item1</ComboBoxItem> <ComboBoxItem Name="Item2">Item2</ComboBoxItem> <ComboBoxItem Name="Item3">Item3</ComboBoxItem> <ComboBoxItem Name="Item4">Item4</ComboBoxItem> <ComboBoxItem Name="Item5">Item5</ComboBoxItem> <ComboBoxItem Name="Item6">Item6</ComboBoxItem> </ComboBox> </Border> </Grid> </Window> 查看此链接: http://www.eidias.com/Blog/2012/2/20/customizing-wpf-combo-box-style 这是一个博客,其中包含有关如何制作自定义组合框的示例代码。他正在制作的自定义组合框看起来非常像您需要的组合框。所以我认为这对你来说非常有用。 这是 WPF ComboBox 的完整样式。它也很容易定制。 http://www.wpfhelper.com/index.php/styles-in-wpf/combobox/15-combobox-style-in-wpf 代码很长,所以我不会把它们全部贴在这里。但是,这是基本的 ComboBox 样式: <Style TargetType="{x:Type ComboBox}"> <Setter Property="Foreground" Value="Gray" /> <Setter Property="BorderBrush" Value="Gray" /> <Setter Property="Background" Value="White" /> <Setter Property="SnapsToDevicePixels" Value="true"/> <Setter Property="OverridesDefaultStyle" Value="true"/> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/> <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/> <Setter Property="ScrollViewer.CanContentScroll" Value="true"/> <Setter Property="FontSize" Value="16" /> <Setter Property="FontWeight" Value="Bold" /> <Setter Property="MinWidth" Value="50"/> <Setter Property="MinHeight" Value="32"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ComboBox"> <Grid> <ToggleButton Name="ToggleButton" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" Foreground="{TemplateBinding Foreground}" Style="{StaticResource ComboBoxToggleButton}" Grid.Column="2" Focusable="false" IsChecked="{Binding Path=IsDropDownOpen,Mode=TwoWay,RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press"> </ToggleButton> <ContentPresenter Name="ContentSite" IsHitTestVisible="False" Content="{TemplateBinding SelectionBoxItem}" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" Margin="10,3,30,3" VerticalAlignment="Center" HorizontalAlignment="Center" /> <TextBox x:Name="PART_EditableTextBox" Style="{x:Null}" Template="{StaticResource ComboBoxTextBox}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="3,3,23,3" Focusable="True" Visibility="Hidden" IsReadOnly="{TemplateBinding IsReadOnly}"/> <Popup Name="Popup" Placement="Bottom" IsOpen="{TemplateBinding IsDropDownOpen}" AllowsTransparency="True" Focusable="False" PopupAnimation="Slide"> <Grid Name="DropDown" SnapsToDevicePixels="True" MinWidth="{TemplateBinding ActualWidth}" MaxHeight="{TemplateBinding MaxDropDownHeight}"> <Border x:Name="DropDownBorder" Background="White" BorderThickness="2" BorderBrush="Gray"/> <ScrollViewer Margin="4,6,4,6" SnapsToDevicePixels="True"> <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" /> </ScrollViewer> </Grid> </Popup> </Grid> <ControlTemplate.Triggers> <Trigger Property="HasItems" Value="false"> <Setter TargetName="DropDownBorder" Property="MinHeight" Value="95"/> </Trigger> <Trigger Property="IsGrouping" Value="true"> <Setter Property="ScrollViewer.CanContentScroll" Value="false"/> </Trigger> <Trigger SourceName="Popup" Property="Popup.AllowsTransparency" Value="true"> <Setter TargetName="DropDownBorder" Property="CornerRadius" Value="0"/> <Setter TargetName="DropDownBorder" Property="Margin" Value="0,2,0,0"/> </Trigger> <Trigger Property="IsEditable" Value="true"> <Setter Property="IsTabStop" Value="false"/> <Setter TargetName="PART_EditableTextBox" Property="Visibility" Value="Visible"/> <Setter TargetName="ContentSite" Property="Visibility" Value="Hidden"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style>
由于 xceed wpf 工具包对我不起作用,我尝试使用 C# 和 WPF 创建自定义多选组合框,方法是使用复选框填充组合框并设置其宽度属性,以便...
在Visual Studio 2022的设计器中,如何选择ComboBox的数据源?
在 Visual Studio 2022 的设计器中,如何选择之前编码为的 ComboBox 的 DataSource: var usersOffer = UserStorage.GetAllUsers(); var usersOfferOrderBy = usersOffer.OrderB...
我有一个 wpf 应用程序,在带触摸屏的 Windows IoT 中运行。 我有一些带有组合框的屏幕,允许用户按下它并选择一个项目并保存它。 组合框被放入
我有一个用户表单,我希望 html 选项值填充 Excel 组合框。基本上我想复制这些值并稍后传递它们。 我所拥有的都是从各种不同的地方粉碎在一起的...
我有一个组合框,其项目中包含 3 个字符串: 1 2 3 如果我在组合框的文本字段中输入“3”,然后单击向下箭头打开下拉列表,则“3”是
导入 tkinter 作为 tk 从 tkinter 导入 ttk 类 ComboboxColorChanger: def __init__(自我,根): self.root = 根 self.root.title("组合框颜色更改") 是...
添加或删除项目时,ComboBox.DropDownHeight 值不会更改
在 WFA 中运行以下代码时 公共部分类 Form1 :表格 { string[] items = { "A", "B", "C", "D", "E" }; 公共表格1() { 初始化组件();
如何在 Access VBA 的组合框下拉列表中将一般日期格式化为不同的月份?
我这里有一个组合框,它从表的日期列中获取值。所以它看起来是这样的: 有没有一种方法可以将组合框的日期列表转换为不同的月份,例如...
我有一个组合框,它提供了客户端使用的最近交付地址的列表,如果有任何记录,它就可以正常工作,但如果选择不同的行源查询返回,则需要一个参数...
我有一个带有组合框的表单,我希望与组合框中所选 ID 相关的相应值显示在文本框中。问题是文本框只显示 v...
Python Tkinter 使用同一类中不同函数中的一个函数 def (self,event) 产生的数据帧
我在一个“子屏幕”中有一个组合框,我正在使用组合框值过滤原始数据帧,但我无法使用生成的数据帧在树视图函数或其他位置显示它。 ...
我想使用具有不同 CornerRadius 的 ComboBox,如何简单地更改它?我尝试过 Style 和 ControlTemplate,但没有成功。