为了账号安全,请及时绑定邮箱和手机立即绑定

WPF数据绑定:如何访问“父”数据上下文?

WPF数据绑定:如何访问“父”数据上下文?

WPF数据绑定:如何访问“父”数据上下文?我有一个窗口中包含的列表(见下文)。窗口DataContext有两个属性,Items和AllowItemCommand。如何获取针对窗口的属性需要解析Hyperlink的Command属性DataContext?<ListView ItemsSource="{Binding Items}">   <ListView.View>     <GridView>       <GridViewColumn Header="Action">         <GridViewColumn.CellTemplate>           <DataTemplate>             <StackPanel>               <TextBlock>                 <!-- this binding is not working -->                 <Hyperlink Command="{Binding AllowItemCommand}"                            CommandParameter="{Binding .}">                     <TextBlock Text="Allow" />                 </Hyperlink>               </TextBlock>             </StackPanel>           </DataTemplate>         </GridViewColumn.CellTemplate>       </GridViewColumn>     </GridView>   </ListView.View></ListView>
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

你可以尝试这样的事情:

...Binding="{Binding RelativeSource={RelativeSource FindAncestor, 
AncestorType={x:Type Window}}, Path=DataContext.AllowItemCommand}" ...


查看完整回答
反对 回复 2019-08-06
?
慕村225694

TA贡献1880条经验 获得超4个赞

这也有效:

<Hyperlink Command="{Binding RelativeSource={RelativeSource AncestorType=ItemsControl},
                             Path=DataContext.AllowItemCommand}" />

ListView将继承其DataContextWindow,所以它的使用在这一点上,太。
并且,因为ListView,就像类似的控件(例如GridviewListBox等等)是其子类ItemsControlBinding对于这样的控件将完美地工作。


查看完整回答
反对 回复 2019-08-06
?
临摹微笑

TA贡献1982条经验 获得超2个赞

这也适用于Silverlight 5(也许更早,但我还没有测试过)。我使用了这样的相对来源,它工作得很好。

RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=telerik:RadGridView}"


查看完整回答
反对 回复 2019-08-06
  • 3 回答
  • 0 关注
  • 1343 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信