我需要删除组合框周围的红色矩形.我在xaml中设置了combobox,如下所示,我试图覆盖Validation.ErrorTemplate.
<ComboBox x:Name="comboPodkategoria"
Margin="0,3,0,0"
IsSynchronizedWithCurrentItem="False"
IsEditable="False"
ItemsSource="{Binding Source={StaticResource PodKategoriaLookup}, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"
SelectedValue="{Binding IDPodKategoria}"
DisplayMemberPath="kat_popis" SelectedValuePath="IDPodkat" TabIndex="5" Style="{StaticResource combostyle}">
<Validation.ErrorTemplate>
<ControlTemplate>
</ControlTemplate>
</Validation.ErrorTemplate>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
用于删除红色矩形的样式,但在xaml中有一些错误,表示Visibility属性无法识别或无法访问.样式定义如下.
<Style x:Key="combostyle">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="Visibility" TargetName="NotValid" Value="Visible"/>
</Trigger>
</Style.Triggers>
Run Code Online (Sandbox Code Playgroud)
任何的想法?:(
我的ComboBox物品集合中有很少的物品,我想从这个列表中选择一个项目并将其设置为默认项目 - 当应用程序启动时 - 此项目已经打开comboBox.
我正在尝试这样的事情:
SelectPrint11.SelectedIndex=2;
Run Code Online (Sandbox Code Playgroud)
但错误是:
System.ArgumentOutOfRangeException: InvalidArgument=Value of '2' is not valid for 'SelectedIndex'
Run Code Online (Sandbox Code Playgroud)
编辑:
在mylist3个项目,Printer1,Printer2,Printer3.全部都加入了ComboBox Properties -> Items -> Collection
我在WPF中有一个ComboBox,我已经用了很多东西(它有一个自定义模板和一个自定义项模板).我已经明白了它现在几乎是我想要它的工作方式,除了当我输入ComboBox时它正在为我做过滤,但只有过滤器假设我输入的内容才会启动项目的名称. ComboBox.
例如,如果我在ComboBox中有一个名为"Windows Media Player"的项目,它只会在我开始输入"Windows Media ..."时找到它,如果我开始输入"Media Play ..."则找不到它. .有没有办法解决?我可以在某个地方设置一个属性来告诉它在整个字符串中搜索而不是仅使用StartsWith()吗?
如果没有,那么自己做这件事最好的方法是什么?有没有办法采取原始控件,基本上只是将对StartsWith()的调用更改为对Contains()的调用,还是我必须更低级别?
我想用以下内容填充一个组合框:
可见项目/项目值
English / En
Italian / It
Spainish / Sp
etc....
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
也可以在填充Combobox后,使其只读?
我在jQuery UI网站上使用这个jQuery UI组合框自动完成控件开箱即用:
我的问题是我在页面上有多个组合框,我希望它们每个都有不同的宽度.
我可以通过添加这个CSS来改变所有这些的宽度:
.ui-autocomplete-input
{
width: 300px;
}
Run Code Online (Sandbox Code Playgroud)
但我无法找到改变其中一个宽度的方法.
我的WPF ComboBox仅包含文本条目.用户将选择一个.获取所选ComboBoxItem文本的最简单方法是什么?请在C#和Visual Basic中回答.这是我的ComboBox:
<ComboBox Name="cboPickOne">
<ComboBoxItem>This</ComboBoxItem>
<ComboBoxItem>should be</ComboBoxItem>
<ComboBoxItem>easier!</ComboBoxItem>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我知道答案,但要找到它并不容易.我以为我会发布问题来帮助别人.修订:我学到了更好的答案.通过添加SelectedValuePath ="Content"作为ComboBox属性,我不再需要丑陋的强制转换代码.请参阅下面的安迪回答.
我正在将我的应用程序从ExtJs 3迁移到4版本.我在formPanel上有几个组合框,之前我使用了hiddenName和所有这些东西来提交valueField而不是displayField.
所有我的改编工作正常(值字段IS提交),但我无法设置组合框的默认值,它们在页面加载后显示为空.以前,我只是在config中指定'value'参数.有什么想法如何解决这个问题?
我的代码 - 模型和商店:
Ext.define('idNamePair', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'string'},
{name: 'name', type: 'string'}
]
});
var dirValuesStore = new Ext.data.Store({
model: 'idNamePair',
proxy: {
type: 'ajax',
url: '../filtervalues.json',
reader: {
type: 'json',
root: 'dir'
}
},
autoLoad: true
});
Run Code Online (Sandbox Code Playgroud)
组合配置:
{
triggerAction: 'all',
id: 'dir_id',
fieldLabel: 'Direction',
queryMode: 'local',
editable: false,
xtype: 'combo',
store : dirValuesStore,
displayField:'name',
valueField:'id',
value: 'all',
width: 250,
forceSelection:true
}
Run Code Online (Sandbox Code Playgroud) 更新:现在已解决,请参阅下面的答案.
在我的一个表单(在Windows窗体应用程序中)我有3个组合框.这些组合框需要显示价格列表(在文本中,带有整数后端值).
所有这些组合框都使用相同的数据源(TSPrice类型的A List <>,ValueMember设置为Price,DisplayMember设置为Description).
我的问题是这样的...每当我从其中一个下拉列表中选择一个价格选项时,它们都会更改为相同的值...这是与它们绑定到同一数据源有关吗?
这是我如何约束他们:
var priceList = new List<TSPrice>
{
new TSPrice(0, ""),
new TSPrice(0, "Half Day"),
new TSPrice(0, "Full Day"),
new TSPrice(0, "1 + Half"),
new TSPrice(0, "2 Days"),
new TSPrice(0, "Formal Quote Required")
};
objInsuredPrice.DataSource = priceList;
objTPPrice.DataSource = priceList;
objProvSum.DataSource = priceList;
objInsuredPrice.ValueMember = "Price";
objTPPrice.ValueMember = "Price";
objProvSum.ValueMember = "Price";
objInsuredPrice.DisplayMember = "Description";
objTPPrice.DisplayMember = "Description";
objProvSum.DisplayMember = "Description";
objInsuredPrice.SelectedIndex = 0;
objTPPrice.SelectedIndex = 0;
objProvSum.SelectedIndex = 0;
//objInsuredPrice.DataSource = objTPPrice.DataSource = objProvSum.DataSource …Run Code Online (Sandbox Code Playgroud) 我有一个可编辑JComboBox,其中包含单个字母值的列表.因此,组合框非常小.
每个字母都有一个特殊的含义,在很少使用字母的情况下,有时用户不清楚.因此,我创建了一个自定义ListCellRenderer,显示下拉列表中每个字母的含义.
不幸的是,这种解释不适合下拉列表,因为它的尺寸很小,因为它与组合框的宽度相同.
有没有办法让下拉列表比组合框更宽?
这就是我想要实现的目标:
---------------------
| Small JCombobox | V |
--------------------------------------------
| "Long item 1" |
--------------------------------------------
| "Long item 2" |
--------------------------------------------
| "Long item 3" |
--------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我无法改变组合框的宽度,因为应用程序是一个旧的遗留应用程序的重新创建,其中一些事情必须与以前完全一样.(在这种情况下,组合框必须不惜一切代价保持它的小尺寸)
我最近升级到Windows 10,在Windows 8.1中运行的JavaFX代码似乎在10中冻结.我已经跟踪了在对话框中打开ComboBox的问题.这似乎冻结了任何JavaFX程序.还有其他人有同样的问题吗?(Windows 10计算机仍然很少,所以很好地确认bug确实是JavaFX问题)
我在下面附上了示例代码.主阶段的ComboBox很好但是当我打开一个对话框并尝试在那里使用ComboBox时,整个事情就会冻结.我在Eclipse 4.4.0中使用Java 8u51
package javafxExamples;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceDialog;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class ComboErrorTest extends Application {
String[] list={"Jamie", "Arthur", "Gordon"};
private Stage stage;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
//create box in main stage.
ComboBox<String> comboBox=new ComboBox<String>();
for (int i=0; i<list.length; i++){
comboBox.getItems().add(list[i]);
}
comboBox.getSelectionModel().select(list[0]);
BorderPane pane = new BorderPane(comboBox);
pane.setPrefSize(400, …Run Code Online (Sandbox Code Playgroud) combobox ×10
c# ×4
.net ×3
winforms ×3
wpf ×3
datasource ×1
extjs ×1
extjs4 ×1
java ×1
javafx ×1
javafx-8 ×1
jquery ×1
selecteditem ×1
selectedtext ×1
styling ×1
swing ×1
validation ×1
width ×1
windows ×1
windows-10 ×1
xaml ×1