wpf - 将静态项填充到 c# WPF 组合框中
问题描述
我正在尝试将静态值添加到我用 WPF c# 编写的组合框中。我有以下 xaml 代码,它将项目添加到我的组合框中。
<ComboBox Text="MyCombo">
<ComboBoxItem Name="115200">Item1</ComboBoxItem>
<ComboBoxItem Name="57600">Item2</ComboBoxItem>
<ComboBoxItem Name="38400">Item3</ComboBoxItem>
</ComboBox>
但是有什么方法可以在我的 xaml 代码中使用组合框的“ItemSource”属性来填充组合框或任何其他 UI 方法来将静态值添加到组合框中。注意:我不想以编码方式填充值。我只想找到 xaml 或 UI 添加的方式。
解决方案
您可以使用项目源从视图模型中绑定组合框项目。
请参见下面的示例:
首先,您要设置 Window 的 DataContext。
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new ViewModel();
}
}
下一个,
public class ViewModel
{
public ObservableCollection<string> CmbContent { get; private set; }
public ViewModel()
{
CmbContent = new ObservableCollection<string>
{
"Item 1",
"Item 2",
"Item 2"
};
}
}
最后,
<Grid>
<ComboBox Width="200"
VerticalAlignment="Center"
HorizontalAlignment="Center"
x:Name="MyCombo"
ItemsSource="{Binding CmbContent}" />
</Grid>
推荐阅读
- php - 如何从相同的表单字段创建多维数组?
- reactjs - 如果这些变量为空,如何在 setState 中设置变量的值
- python - Keras中的“只有一个输入大小可能是-1,而不是0和2”错误
- javascript - 从构造函数创建新对象时如何包含或检测新对象的名称
- matlab - 无法获得其公式所描述的图像对比度
- java - make: 对 `default' JAVA 无事可做
- django - 如何在 django 中管理模型之间的关系
- smb - 获取目录列表的问题:SMBLibrary
- spacy - 尝试使用预训练时不正确的广播输入数组形状错误
- mysql - MySQL - 更新表行而不锁定行