WP8 - 访问父级的datacontext

时间:2013-04-16 12:29:10

标签: xaml binding windows-phone-8 commandbinding

如何在windows phone 8中访问父元素的datacontext? WP8中没有AncestorType。

<ItemsControl x:Name="Elements" ItemsSource="{Binding MyList}" Grid.Row="2" Grid.Column="3">
<ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <toolkit:WrapPanel  />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button Content="e"  Width="100" Height="100" Command="{Binding MyCommand" />
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

“MyCommand”在“MyList”之外定义。那么如何从我的按钮访问根数据文本(DataContext = MyClass)。 MyCommand在MyClass类中定义。

提前致谢。

1 个答案:

答案 0 :(得分:13)

您可以使用ElementName绑定。如果您的根网格(直接位于页面内的网格)称为LayoutRoot:

<Button Command="{Binding DataContext.MyCommand, ElementName=LayoutRoot}" />