我正在尝试在Xaml中实现简单的主细节数据绑定C#WPF。在左侧,我有一个正确生成的列表框,在右侧我有一个数据网格。当我单击左侧列表框时,我希望我的Datagrid相应地更改。目前我相信我与SelectedItem路径有问题。有人可以提出建议吗?
public class Pipe
{
public string ID { get; set; }
public ObservableCollection<Node> nodes = new ObservableCollection<Node>();
}
public class Node
{
public int ID { get; set; }
public double Distance { get; set; }
}
ObservableCollection<Pipe> p = new ObservableCollection<Pipe>();
填充我的Pipe Class后,我通过
绑定它lstLines.DisplayMemberPath = "ID";
lstLines.ItemsSource = p;
直到现在一切正常。 接下来在Xaml中我通过以下方法将我的datagrid绑定到Listbox的SelectedItem:
ItemsSource="{Binding Path=SelectedItem.nodes, ElementName=lstLines, Converter={StaticResource debugConverter}}
这是问题....我无法找到正确的路径,因此我的数据网格基于列表的选择项填充。我尝试了几种不同的变化但是没有。
答案 0 :(得分:1)
您的Path
没问题,但您只能绑定public
个属性,而nodes
是一个字段:
public ObservableCollection<Node> nodes {get; set; }
您可以在nodes
构造函数中初始化Pipe
,但它必须是属性