我使用了一个功能区窗口,在“内容区域”下方,我有一个网格,我将在其中显示UserControls。为了演示我的问题,让我们看看这个简单的UserControl:
<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; }
}
父窗口:
<Grid x:Name="grdContent" DockPanel.Dock="Top">
<controls:MyUserControl x:Name="myUserControl" Visibility="Visible"/>
</Grid>
我不明白为什么这种绑定不起作用。而不是值(名称和高度),我得到完整的类名。如果我在Window中使用此代码,它可以正常工作。
有什么想法吗?我希望这个用户控件能够自行运行(它从DB获取数据并在ListView中表示它)...
谢谢!
答案 0 :(得分:0)
似乎问题在于RibbonWindow。 如果我使用Window和UserControl绑定工作正常,但如果我使用RibbonWindow(Odyssey Ribbon)绑定不起作用。我不明白的是,在设计模式中,我可以看到正确的值,在运行模式下,我只看到类名:
http://i977.photobucket.com/albums/ae255/HekoSLO/designModeVSrunning.png