我想你的例子,它工作正常:
XAML:
<Window x:Class="DataGridBinding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid ItemsSource="{Binding ObjectAList}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{ Binding ObjectB.strDes}" Header=" Libellé type évènement " Width="Auto" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
CodeBe后:
public partial class MainWindow : Window
{
public List<A> AList { get; set; }
public MainWindow()
{
InitializeComponent();
AList= new List<A>();
AList.Add(new A());
AList.Add(new A());
AList.Add(new A());
AList.Add(new A());
DataContext = this;
}
}
及其类别A和B:
public class A
{
public B B { get; set; }
public A()
{
B=new B();
}
}
public class B
{
private static int counter = 0;
public string strDes { get; set; }
public B()
{
strDes = "foo"+counter;
counter++;
}
}
输出:
编辑: 有淡淡的检查你的绑定。将TraceLevel设置为“High”以获得更多关于它的信息:
<DataGridTextColumn Binding="{ Binding B.strDes, PresentationTraceSources.TraceLevel=High}" Header=" Libellé type évènement " Width="Auto" IsReadOnly="True" />
我没有看到xaml的问题,除了绑定的空间盈方之外。请向我们展示您的课程A和B。 – dowhilefor 2013-03-14 14:42:09