在列表框中显示字典

时间:2015-12-03 14:45:17

标签: c# wpf dictionary listbox

我试图在WPF的列表框中显示字典,但是我遇到了一些错误,我无法弄明白。这是我的列表框:

 <ListBox x:Name="lstPrice" Grid.Column="3" HorizontalAlignment="Left" Height="75" Margin="25.714,225,0,0" VerticalAlignment="Top" Width="190"/>

这是我的一个类中定义的字典:

   Dictionary<double, ProdType> prices = new Dictionary<double, ProdType>()
        {
            {5.4 , ProdType.Plain}; }

在这里,我尝试将它们绑定在窗口的加载事件中:

lstPrice.ItemsSource = new BindingSource(prices, null); 
  

错误CS0246类型或命名空间名称&#39; BindingSource&#39;不可能   发现(您是否缺少using指令或程序集引用?)

     

错误CS0103名称&#39;价格&#39;在当前上下文中不存在

还有WTF中BindingSource的替代方案吗? 我做错了什么?

1 个答案:

答案 0 :(得分:0)

直接指定为lstPrice.ItemsSource = prices

然后在Item模板中使用Value属性来绑定它。

例如

    <ListBox SelectedValuePath="Value">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Path=Value}" />
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>