Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 组合框不显示SelectedValue_C#_Wpf_Xaml - Fatal编程技术网

C# 组合框不显示SelectedValue

C# 组合框不显示SelectedValue,c#,wpf,xaml,C#,Wpf,Xaml,我对组合框有问题。当我试图将它设置为显示数据库中的数据时,它不显示值。组合框包含app.xaml中数组中的项 代码如下: app.xaml 假设您的模型定义如下: public class ComboBoxItemString { public string ValueString { get; set; } } 绑定到组合框的SelectedValue的属性Rodzaj_poj必须是字符串而不是组合框项字符串对象 private string _rodzaj_poj; pu

我对组合框有问题。当我试图将它设置为显示数据库中的数据时,它不显示值。
组合框
包含app.xaml中数组中的项

代码如下:

app.xaml
假设您的模型定义如下:

public class ComboBoxItemString
{
    public string ValueString { get; set; }
}
绑定到
组合框
SelectedValue
的属性
Rodzaj_poj
必须是
字符串
而不是
组合框项字符串
对象

 private string _rodzaj_poj;
    public string Rodzaj_poj
    {
        get
        {
            return _rodzaj_poj  ;
        }

        set
        {
            if (_rodzaj_poj   == value)
            {
                return;
            }

            _rodzaj_poj   = value;
            OnPropertyChanged();
        }
    }   
最后,您需要实现
INotifyPropertyChanged
接口,这样一旦
Rodzaj_poj
发生更改,就会通知该接口

public partial class MainWindow : Window, INotifyPropertyChanged
{
    public MainWindow()
    {
        InitializeComponent();
        Rodzaj_poj = "N3";
    }

  //.. 
    public event PropertyChangedEventHandler PropertyChanged;
    protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
    {
        var handler = PropertyChanged;
        if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
    }

}

好啊我之前已经做过,并且在datagrid中工作得很好,但Rodzaj_poj是数据库中的一个数据字段,我想在combobox中显示它。任何建议??该属性(Rodzaj_poj)的值始终在您定义的组合框itemsource中?是的,它已写入数据库,然后当我双击od datagrid行时,我会得到值,并希望显示它以编辑数据。k是对数据行的引用,那么我看不出问题出在哪里!!,从datagrid(或数据库)获取值时,设置Rodzaj_poj属性,Rodzaj_poj=vallueFromDataGrid!这是combobox的问题,不是Rodzaj_poj的问题。Rodzaj_poj是数据库中的一个字段,我想在combobox中显示该字段。我设置了combobox1.SelectedValue=k.Rodzaj_poj,但它不起作用。如果打开下拉列表(不显示值),是否在下拉列表中选择了预期项目?
public class ComboBoxItemString
{
    public string ValueString { get; set; }
}
 private string _rodzaj_poj;
    public string Rodzaj_poj
    {
        get
        {
            return _rodzaj_poj  ;
        }

        set
        {
            if (_rodzaj_poj   == value)
            {
                return;
            }

            _rodzaj_poj   = value;
            OnPropertyChanged();
        }
    }   
public partial class MainWindow : Window, INotifyPropertyChanged
{
    public MainWindow()
    {
        InitializeComponent();
        Rodzaj_poj = "N3";
    }

  //.. 
    public event PropertyChangedEventHandler PropertyChanged;
    protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
    {
        var handler = PropertyChanged;
        if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
    }

}