0

我正在使用以下代码:

private Dictionary<string, string> GetNumber { get; set; }
public ReportsLetterTra()
{
    GetNumber = new Dictionary<string, string>
                            {
                                {"1", "First"},
                                {"2", "Second"}
                            };

    InitializeComponent();
}

xml代码:

 <ComboBox 
      DisplayMemberPath="value" 
      SelectedValuePath="key" 
      ItemsSource="{Binding ElementName=reportslettra,Path=GetNumber}"
      SelectedIndex="0" Name="cmbFromNumber" />

为什么不将 GetNumber 绑定到 cmbFromNumber?!

更新 :

我在后面文件中的完整代码:

using System.Collections.Generic;
using System.Windows;

namespace WpfApplication20
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        public Dictionary<string, string> GetNumber { get; set; }

        public Window1()
        {

            GetNumber = new Dictionary<string, string>
                                    {
                                        {"1", "First"},
                                        {"2", "Second"}
                                    };
            InitializeComponent();

        }
    }
}

我完整的 xaml 代码:

<Window x:Class="WpfApplication20.Window1" Name="eportslettra"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid Height="26">
        <ComboBox DisplayMemberPath="Value" SelectedValuePath="Key" 
               ItemsSource="{Binding ElementName=reportslettra,Path=GetNumber}" 
               SelectedIndex="0"  Name="cmbFromNumber"    />
    </Grid>
</Window>

我哪里错了?为什么不将 GetNumber 绑定到 cmbFromNumber?!

4

1 回答 1

1

你的属性被标记为private,make it public。此外,更正您的ComboBoxtoValueKey. 第三,您的绑定表达式看起来无效,请仔细检查。最后,看起来您的属性是视图代码隐藏文件的一部分。您可能会考虑 MVVM 设计模式。

更新

WindowName'eportslettra',但你的绑定表达式使用ElementName'reportslettra'。纠正其中之一。

于 2012-10-20T17:08:43.253 回答