首页 > 解决方案 > 将静态项填充到 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 添加的方式。

标签: wpfcomboboxitemsource

解决方案


您可以使用项目源从视图模型中绑定组合框项目。

请参见下面的示例:

首先,您要设置 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>

推荐阅读