Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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/9/apache-flex/4.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# WPF组合框项(ItemsSource绑定)不可见_C#_Wpf_Xaml_Binding - Fatal编程技术网

C# WPF组合框项(ItemsSource绑定)不可见

C# WPF组合框项(ItemsSource绑定)不可见,c#,wpf,xaml,binding,C#,Wpf,Xaml,Binding,我正在尝试将列表绑定到ComboBox。以下是我实现的简单代码: C XAML 问题 列表的值是从DbMain.GetNameList和ComboBox中的绑定中检索的,但这些值不可见。当我执行SelectionChanged时,我也可以访问SelectedItem。唯一的问题是项目不可见 输出窗口中出现错误 System.Windows.Data错误:40:BindingExpression路径错误:在“object”MyClass“HashCode=804189”上找不到“DisplayNa

我正在尝试将列表绑定到ComboBox。以下是我实现的简单代码:

C

XAML

问题

列表的值是从DbMain.GetNameList和ComboBox中的绑定中检索的,但这些值不可见。当我执行SelectionChanged时,我也可以访问SelectedItem。唯一的问题是项目不可见

输出窗口中出现错误


System.Windows.Data错误:40:BindingExpression路径错误:在“object”MyClass“HashCode=804189”上找不到“DisplayName”属性。BindingExpression:Path=DisplayName;DataItem='MyClass'HashCode=804189;目标元素为'TextBlock'Name=;目标属性是“Text”类型的“String”

通过使用此绑定表达式,您可以声明MyClass中有一个名为DisplayName的属性,但在运行时,由于没有此类属性-您将DisplayName定义为字段,这就是它在您的情况下失败的原因-因此组合框显示空白项

<ComboBox x:Name="cmbList" 
  DisplayMemberPath="DisplayName"

与未处理的异常不同,此类绑定错误不会使应用程序崩溃,但您可以在调试时在输出窗口中找到它们的跟踪。

检查输出窗口,是否存在诸如“找不到属性DisplayName”之类的绑定错误?是否提供了正确的DisplayMemberPath?查证misspell@kennyzx对那里有个错误。System.Windows.Data错误:40:BindingExpression路径错误:在“object”MyClass“HashCode=804189”上找不到“DisplayName”属性。BindingExpression:Path=DisplayName;DataItem='MyClass'HashCode=804189;目标元素为'TextBlock'Name=;目标属性为“Text”类型“String”,这是典型的绑定错误,您需要在MyClass中定义DisplayName属性。是的,将其设置为具有getter和/或setter的属性,而不是字段。
<StackPanel Grid.Row="0" Orientation="Horizontal" >

    <TextBlock Text="Names:" Margin="5,0,5,0" VerticalAlignment="Center" Width="50" Visibility="Collapsed"/>

    <ComboBox x:Name="cmbList" Width="200" SelectionChanged="cmbList_SelectionChanged"
      DisplayMemberPath="DisplayName" SelectedValuePath="DisplayName" Foreground="Black"/>

</StackPanel>
<ComboBox x:Name="cmbList" 
  DisplayMemberPath="DisplayName"