我正在尝试创建一个属性面板,我正在使用列表框.我不知道制作动态表的另一种方法,所以这就是我所做的:
<DataTemplate x:Key="PropertyListTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}" />
<ComboBox x:Name="combo"
Grid.Column="1"
ItemsSource="{Binding ComboItems}"
SelectedIndex="{Binding Value, Mode=TwoWay}"
Visibility="Hidden" />
<TextBox x:Name="text"
Grid.Column="1"
Text="{Binding Value, Mode=TwoWay}"
Visibility="Hidden" />
<!-- ... More controls -->
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding TypeString}" Value="Combobox">
<Setter TargetName="combo" Property="Visibility" Value="Visible" />
</DataTrigger>
<!-- ... More triggers -->
</DataTemplate.Triggers>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
问题是这样的:

当文本框或组合框溢出时,它会自动调整大小.如何禁用此行为?应根据父列表框的宽度调整控件的宽度...我不想要任何水平滚动条...
我有一个ComboBox在wpf,它的源是一个IDictionary<Key, String>'Key'是自定义键.的ComboBox定义如下:
<ComboBox
x:Name="MD_PDIR_COMBO_SOURCE"
Grid.Row="0"
Style="{DynamicResource USButtonComboBoxStyle}"
Margin="14,5"
VerticalAlignment="Top"
HorizontalAlignment="Stretch"
ItemsSource="{Binding Path=SourcesComboList}"
DisplayMemberPath="Value"
SelectedValuePath="Key"
SelectedValue="{Binding Path=SelectedSource}"
SelectionChanged="MD_PDIR_COMBO_SOURCE_SelectionChanged"
/>
Run Code Online (Sandbox Code Playgroud)
现在我面临的问题是,虽然DisplayMemberPath设置为字典的"值"是a String,但在选择项目时组合框中显示的可视文本是BLANK/EMPTY.
尽管组合框选择更改的所有所需功能都正确发生,但在选择项目后未显示值/文本.
请帮忙!
你有一个组合或下拉框,用户可以从给定的替代品列表中选择,还是输入自己的值?
在VB6.0中,MyCombobox.NewIndex的最大值是多少?它是什么数据类型的?为什么我不能将newIndex设置为11001000000?如果我不能,我该怎么办?
谢谢
Dim ComboItem As String
With rsTest
.Sort = "ID Asc"
.MoveFirst
While Not .EOF
ComboItem = .Fields("Code") & " - " & .Fields("Name")
myCombobox.AddItem (ComboItem)
myCombobox.ItemData(myCombobox.NewIndex) = .Fields("ID")
.MoveNext
Wend
End With
Run Code Online (Sandbox Code Playgroud) 我有这个清单:
public static List<int> getData(OdbcConnection conn)
{
List<int> myData = new List<int>();
string myQuery = "some Sql text";
// ...............some other code
return myData;
}
Run Code Online (Sandbox Code Playgroud)
我需要使用AddRange将List中的参数添加到comboBox:
this.comboBox1.Items.AddRange( new object[] { ??????????? });
我该怎么做?
下面的代码用于根据所选日期使用可用时间填充组合框.
但是由于某种原因,组合框正在存储数据示例的内存地址:
Restaurant.Time@1a28362
Restaurant.Time@5fcf29
...
Run Code Online (Sandbox Code Playgroud)
我知道它得到了正确的时间.但是,我如何实际打印出实际物品?
TimeList times = dbConnector.selectTimes(lblDay.getText());//lblDay stores the date from the jCalendar button
cmbNewResTimes.removeAllItems();
for (int pos1 = 0; pos1 < times.size(); pos1++) {
cmbNewResTimes.addItem(times.getTimeAt(pos1).toString());
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将WPF组合框绑定到可观察的图像集合.这是我的收藏:
public class AvatarPhoto
{
public int AvatarId { get; set; }
public BitmapImage AvatarImage { get; set; }
}
public ObservableCollection<AvatarPhoto> AvailableProfilePictures { get; private set; }
Run Code Online (Sandbox Code Playgroud)
这是我的xaml:

Visual Studio给出了这个编译时错误:属性'ItemTemplate'不支持'Image'类型的值.
为什么会出现这个错误?
谢谢
更新:谢谢你的回答!它解决了这个问题.
现在我已经更新了我的代码但是我在ComboBox中看到了这个:

为什么不能正确显示图片?在调试窗口中,我可以看到我的集合已正确填充:

我的comboBox1应用程序中有一个组合框(),它列出了我的SQL数据库中的类别.它正在正确地提取数据.我唯一的问题是,当组合框中列出数据时,会有重复的结果.例如:
我希望它列出的内容:
Example 1
Example 2
Example 3
Run Code Online (Sandbox Code Playgroud)
实际列出的内容:
Example 1
Example 1
Example 1
Example 1
Example 1
Example 2
Example 2
Example 2
Example 3
Example 3
Example 3
Run Code Online (Sandbox Code Playgroud)
这是我用来列出数据的代码:
public void ListCat()
{
DataTable linkcat = new DataTable("linkcat");
using (SqlConnection sqlConn = new SqlConnection(@"Connection stuff;"))
{
using (SqlDataAdapter da = new SqlDataAdapter("SELECT name FROM list WHERE name <> 'NULL'", sqlConn))
{
da.Fill(linkcat);
}
}
foreach (DataRow da in linkcat.Rows)
{
comboBox1.Items.Add(da[0].ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
简而言之,我的问题是如何防止重复数据被列出?
如何在C#中使用一个数组填充一个组合框,我的显示成员是数组的值,值成员是数组键?
string[] RelayTypeArray = new string[4];
RelayTypeArray[0] = null;
RelayTypeArray[1] = "Boiler";
RelayTypeArray[2] = "Valve";
RelayTypeArray[3] = "Pump";
cmb_RelayType.DataSource = RelayTypeArray;
cmb_RelayType.DisplayMember = RelayTypeArray;
cmb_RelayType.ValueMember = ?????
Run Code Online (Sandbox Code Playgroud) 我想在QComboBox中显示文件夹的所有文件.我测试了一些东西,但不是我正在寻找的东西.
void pacientes::on_mostrarPaciente_clicked()
{
QDir path("C:/Users/Jaime/Desktop/interfaz/pacientes");
QStringList files = path.entryList(QDir::Files);
QComboBox comb;
qDebug()<<files;
comb.addItems(files);
comb.show();
}
Run Code Online (Sandbox Code Playgroud)
在这个函数中,qDebug没有为控制台显示任何内容.qDebug在其他函数中显示的东西,但在这个函数中没什么.我觉得这不好用