我可以将绑定源更改为XAML中的另一个源吗?

时间:2010-04-07 09:10:57

标签: wpf binding

我想将XAML中的源更改为另一个对象源。例如:

  • 我有一个Listview,一个绑定到“模型A”的窗口的一部分,它有许多属性,但有一个叫做“Total”。此属性未显示在视图
  • 每个ListviewItem都有自己的源(ItemsSource),但是,其中一个字段应显示“Model A”中的“Total”

警告:我正在实现MVVM,因此“模型A”作为VM数据源分配给Window,XAML对此一无所知。

View.DataSource = MyViewModel(包含“模型A”)

所以,在我完美的世界里,XAML应该是这样的:

<GridViewColumn Header="Total" Width="150">
   <GridViewColumn.CellTemplate>
      <DataTemplate>
         <Label Content="{Binding Source=<The source of WINDOW> Path=Total}"/>
      </DataTemplate>
    </GridViewColumn.CellTemplate>
 </GridViewColumn>

我已经尝试了RelativeSource但是我指的是XAML对象,我想要它的来源,是否可能?有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

<Label Content="{Binding RelativeSource={RelativeSource FindAncestor, 
                         AncestorType={x:Type Window}}, Path=Total}"/>

WPF Binding Cheat Sheet