c# – 如果itemsource中不存在值,则Combobox指定null

c# – 如果itemsource中不存在值,则Combobox指定null,第1张

概述我有一个Datagrid,双击所选行后,将启动一个编辑屏幕. 在此编辑屏幕上,有组合框,其值绑定到网格中的选定行. 有时,组合框中没有分配给组合框的值,因此组合框中的显示为空,但该值不为空. 如果itemsource集合中不存在该值,如何更新所选项目的值为null. 在上面的场景中,自第二个屏幕绑定到第一个屏幕上的Selected项目时,City的SelectedValue为“洛杉矶”,显示为空. 我有一个DatagrID,双击所选行后,将启动一个编辑屏幕.
在此编辑屏幕上,有组合框,其值绑定到网格中的选定行.
有时,组合框中没有分配给组合框的值,因此组合框中的显示为空,但该值不为空.
如果itemsource集合中不存在该值,如何更新所选项目的值为null.

在上面的场景中,自第二个屏幕绑定到第一个屏幕上的Selected项目时,City的SelectedValue为“洛杉矶”,显示为空.
但由于集合中不存在“洛杉矶”,因此SelectedValue应为null.

解决方法 解决方案是将组合框的ItemsSource设置为列表(例如:“DevicenameList”),并将此组合框的SelectedItem设置为与列表中的元素类型(SelectedDevicename)匹配的变量.

现在,当您加载编辑屏幕时,它会将列表绑定到组合框并显示您设置的变量.

您必须编写一些代码来检查所选项是否出现在列表中,如果不是,则可以将值设置为零.

例:

XAML代码:

<ComboBox ItemsSource="{Binding Path=DevicenameList}" SelectedItem="{Binding Path=SelectedDevicename}" />

用于设置selectedItem的代码:

/// <summary>    /// Gets or sets SelectedDevicename.    /// </summary>    public ObservableCollection<string> DevicenameList    {         get        {           return mDevicenameList;        }        set        {            mDevicenameList = value;        }    }    /// <summary>    /// Gets or sets SelectedDevicename.    /// </summary>    public string SelectedDevicename    {        get        {            return mSelectedDevicename;        }        set        {            mSelectedDevicename = value;            NotifyPropertyChanged("SelectedDevicename");        }    }    /// <summary>    /// Event PropertyChanged    /// </summary>    public event PropertyChangedEventHandler PropertyChanged;        /// <summary>    /// Function NotifyPropertyChanged    /// </summary>    /// <param name="property">    /// The property.    /// </param>    private voID NotifyPropertyChanged(string property)    {        if (PropertyChanged != null)        {            PropertyChanged(this,new PropertyChangedEventArgs(property));        }    }
总结

以上是内存溢出为你收集整理的c# – 如果itemsource中不存在值,则Combobox指定null全部内容,希望文章能够帮你解决c# – 如果itemsource中不存在值,则Combobox指定null所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1229844.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存