将静态项目填充到c#WPF组合框中

时间:2019-07-17 10:06:34

标签: wpf combobox itemsource

我试图将静态值添加到用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添加的方法。

1 个答案:

答案 0 :(得分:1)

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

请参见以下示例:

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