WPF用户控件绑定问题
我使用一个功能区窗口,在“下面的内容区域”我有一个网格,我将在其中显示用户控件。为了演示我的问题,让我们看看这个简单的UserControl:WPF用户控件绑定问题,wpf,listview,binding,user-controls,Wpf,Listview,Binding,User Controls,我使用一个功能区窗口,在“下面的内容区域”我有一个网格,我将在其中显示用户控件。为了演示我的问题,让我们看看这个简单的UserControl: <ListView x:Name="lvPersonList"> <ListView.View> <GridView> <GridViewColumn Width="120" Header="Name" DisplayMemb
<ListView x:Name="lvPersonList">
<ListView.View>
<GridView>
<GridViewColumn Width="120" Header="Name" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Width="120" Header="Height" DisplayMemberBinding="{Binding Height}"/>
</GridView>
</ListView.View>
</ListView>
以及守则:
public partial class MyUserControl: UserControl
{
private List<Person> personList;
public TestSnpList()
{
InitializeComponent();
this.personList = new List<Person>();
this.personList.Add(new Person { Name = "Chuck Norris", Height = 210 });
this.personList.Add(new Person { Name = "John Rambo", Height = 200 });
this.lvPersonList.ItemsSource = personList;
}
}
public class Person
{
public string Name { get; set; }
public int Height { get; set; }
}
公共部分类MyUserControl:UserControl
{
私人名单个人名单;
公共测试列表()
{
初始化组件();
this.personList=新列表();
this.personList.Add(newperson{Name=“Chuck Norris”,Height=210});
this.personList.Add(newperson{Name=“johnrambo”,Height=200});
this.lvPersonList.ItemsSource=personList;
}
}
公共阶层人士
{
公共字符串名称{get;set;}
公共整数高度{get;set;}
}
父窗口:
<Grid x:Name="grdContent" DockPanel.Dock="Top">
<controls:MyUserControl x:Name="myUserControl" Visibility="Visible"/>
</Grid>
我不明白为什么这个绑定不起作用。我得到的不是值(名称和高度),而是完整的类名。如果我在窗口中使用此代码,它可以正常工作
有什么想法吗?我希望这个用户控件自己工作(它从数据库中获取数据并在ListView中表示)
谢谢 问题似乎出在RibbonWindow上。 如果我使用Window和UserControl绑定,效果很好,但如果我使用RibbonWindow(Odyssey Ribbon),绑定就不起作用。我不明白的是,在设计模式下,我可以看到正确的值,而在运行模式下,我只能看到类名:
你能说说什么是
publictestsnplist()
吗?您是否能够访问代码this.lvPersonList.ItemsSource=personList代码>使用调试器我得到完整的类名
你得到类名Person了吗?啊,很抱歉,这个TestSnpList是一个真实的类名(我在这里重命名了它,我忘了重命名构造函数)。是的,我一定能找到它-它有两个项目(myNamespace.Person)。呈现listView时,我可以看到两个类似的项:myNamespace.Person myNamespace.Person有什么想法吗?