0

我正在尝试在 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>();

填充我的管道类后,我通过绑定它

lstLines.DisplayMemberPath = "ID";
lstLines.ItemsSource = p;

到目前为止,一切正常。接下来在 Xaml 中,我通过以下方式将我的数据网格绑定到 Listbox 的 SelectedItem:

ItemsSource="{Binding Path=SelectedItem.nodes, ElementName=lstLines, Converter={StaticResource debugConverter}}

这是问题....我找不到正确的路径,所以我的数据网格是根据列表的选定项填充的。我尝试了几种变化,但没有缺乏。

4

1 回答 1

1

Path很好,但你只能绑定public属性,你nodes是一个字段:

public ObservableCollection<Node> nodes {get; set; }

可以nodesPipe构造函数中初始化,但必须是属性

于 2013-06-07T09:08:43.543 回答