2014-10-03 93 views
0

我有一个简单的组合框在我的XAML文件:WPF组合框不显示内容

<ComboBox Name="environmentComboBox" Grid.Column="1" Grid.Row="0" Margin="2" 
       SelectionChanged="environmentComboBox_SelectionChanged" 
       ItemsSource="{Binding Path=Test}"/> 

下面是它的内容的代码:

private List<string> test = new List<string>(){"1", "2"}; 

    public List<string> Test 
    { 
     get 
     { 
      return test; 
     } 
     set 
     { 
      test = value; 
     } 
    } 

我试着调试应用程序时, ComboBox不显示任何内容。 但是,当我检查如果测试有内容,它显示了两个字符串。

+0

不得不设置包含'名单的意见'DataContext'到'型号/ Window' ' – 2014-10-03 02:18:35

回答

1

必须将视图DataContext设置为Model/Window包含List<T>

如果没有,您需要告诉查看使用什么DataContext,下面是一个WPF窗口的快速示例,并将xamls DataContext设置为View背后的代码。

而且其推荐的绑定集合添加和删除项目将更新时使用ObservableCollection<T>ComboBox自动

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     DataContext = this; // set datacontext 
    } 

    private ObservableCollection<string> test = new ObservableCollection<string>() { "1", "2" }; 
    public ObservableCollection<string> Test 
    { 
     get { return test; } 
     set { test = value; } 
    } 
} 

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <StackPanel> 
     <ComboBox ItemsSource="{Binding Path=Test}"/> 
    </StackPanel> 
</Window> 
+0

是的,这似乎解决了我遇到的问题。 谢谢你帮助我,我为这个微不足道的问题道歉。 – sporeing 2014-10-03 02:29:53

+0

没有问题,并记住这是堆栈溢出的目的,如果你卡住了,没有问题是微不足道的:) – 2014-10-03 02:34:11