C# 列表框上的WPF DisplayMemeberPath
我对wpf列表框有问题。我的问题是,当我使用listbox项目向listbox添加项目并设置显示成员路径时,没有显示任何内容。 我想使用ListBoxItem或类似于为每个项目显式设置工具提示的东西 提前谢谢C# 列表框上的WPF DisplayMemeberPath,c#,wpf,listbox,C#,Wpf,Listbox,我对wpf列表框有问题。我的问题是,当我使用listbox项目向listbox添加项目并设置显示成员路径时,没有显示任何内容。 我想使用ListBoxItem或类似于为每个项目显式设置工具提示的东西 提前谢谢 namespace WpfApplication1 { /// <summary> /// Interaction logic for Window2.xaml /// </summary> public partial class
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for Window2.xaml
/// </summary>
public partial class Window2 : Window
{
public Window2()
{
InitializeComponent();
listbox1.DisplayMemberPath = "S";
List<ListBoxItem> l = new List<ListBoxItem>();
l.Add(new ListBoxItem() { Content = new Test() { S = "test1", I = 1 } });
l.Add(new ListBoxItem() { Content = new Test() { S = "test2", I = 2 } });
l.Add(new ListBoxItem() { Content = new Test() { S = "test3", I = 3 } });
l.Add(new ListBoxItem() { Content = new Test() { S = "test4", I = 4 } });
foreach (var item in l)
{
listbox1.Items.Add(item);
}
}
}
public class Test
{
public string S { get; set; }
public int I { get; set; }
}
}
命名空间WpfApplication1
{
///
///Window2.xaml的交互逻辑
///
公共部分类Window2:Window
{
公共窗口2()
{
初始化组件();
listbox1.DisplayMemberPath=“S”;
列表l=新列表();
l、 添加(newlistboxitem(){Content=newtest(){S=“test1”,I=1}});
l、 添加(newlistboxitem(){Content=newtest(){S=“test2”,I=2}});
l、 添加(newlistboxitem(){Content=newtest(){S=“test3”,I=3}});
l、 添加(newlistboxitem(){Content=newtest(){S=“test4”,I=4}});
foreach(l中的var项目)
{
列表框1.Items.Add(item);
}
}
}
公开课考试
{
公共字符串S{get;set;}
公共整数I{get;set;}
}
}
您正在将ListBoxItems添加到ListBox,而ListBoxItem没有名为“S”的属性,因此DisplayMemberPath无法工作
直接添加自定义类:
listBox.Items.Add(new Test { S = "Hello World" });
您通常不需要在WPF中直接使用ListBoxItems-只需将ListBox直接绑定到自定义集合,就会为您生成ListBoxItems。您正在将ListBoxItems添加到ListBoxItems,而ListBoxItem没有名为“S”的属性,因此DisplayMemberPath将无法工作 直接添加自定义类:
listBox.Items.Add(new Test { S = "Hello World" });
通常,您不需要在WPF中直接使用ListBoxItems,只需将ListBox直接绑定到自定义集合,就会为您生成ListBoxItems