将 wpf:ComboBox 绑定到 XAML 中的静态类

Posted

技术标签:

【中文标题】将 wpf:ComboBox 绑定到 XAML 中的静态类【英文标题】:Bind wpf:ComboBox to a static class in XAML 【发布时间】:2021-12-17 10:17:03 【问题描述】:

我有一个包含静态字符串常量的静态类

 public static class ClassName
    
        public const string Name1 = "Name1";
        public const string Name2 = "Name2";
    

是否可以绑定(最好在 XAML 文件中)要从此类填充的组合框项?我需要这个类,因为这些字符串常量用于业务逻辑。

绑定属性太多了,我尝试了好几个,但到目前为止都没有运气。

【问题讨论】:

【参考方案1】:

您可以不通过数据绑定,而是使用x:Static 表达式从字符串常量填充组合框,并将所选项目绑定到视图模型中的字符串属性,如下所示:

<ComboBox SelectedValuePath="Content"
          SelectedValue="Binding SelectedName">

    <ComboBoxItem Content="x:Static local:ClassName.Name1"/>
    <ComboBoxItem Content="x:Static local:ClassName.Name2"/>
</ComboBox>

【讨论】:

以上是关于将 wpf:ComboBox 绑定到 XAML 中的静态类的主要内容,如果未能解决你的问题,请参考以下文章

WPF ComboBox 绑定 ItemsSource

c#wpf combobox将source绑定到一个collection,item作为另一个collection的属性

具有空值的 WPF ComboBox SelectedValue 绑定显示为空白

WPF ComboBox ItemTemplate 绑定到字符串集合

WPF ComboBox下拉绑定Treeview 功能的实现

WPF Combobox数据绑定Binding