这个例子有点牵强,但我正在做类似的事情。假设我有以下简单的类:
public class Person
{
public string Name { get; set; }
public List<Alias> Aliases { get; set; }
}
public class Alias
{
public string AliasName { get; set; }
}
假设我有一个包含LayoutRoot网格和DataGrid的XAML,我想要访问DataGrid中的Name属性,而不是像这里第二列中的Aliases属性:
<Grid x:Name="LayoutRoot" DataContext="PersonInstance">
<DataGrid ItemsSource="{Binding Aliases}">
<DataGrid.Columns>
<data:DataGridTextColumn Header="AliasName" Binding="{Binding AliasName, Mode=TwoWay}"/>
<data:DataGridTextColumn Header="Name" Binding="{Binding ../Name, Mode=TwoWay}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
这是我直观地尝试绑定名称的方式,但毫无疑问,看起来很愚蠢。是否有类似路径指定的方法,或者您被迫获取LayoutRoot数据上下文的相对源?如果必须这样做,最有效的方式是什么?
Binding="{Binding Name, Mode=TwoWay}"
- Amsakanna