1. ホーム
  2. wpf

[解決済み】WPFのデータバインディング。親」データコンテキストにアクセスするにはどうすればよいですか?

2022-04-05 09:58:03

質問

あるウィンドウにリスト(下記参照)が入っています。このウィンドウの DataContext には2つのプロパティがあります。 ItemsAllowItemCommand .

のバインディングを取得するにはどうすればよいですか? Hyperlink 's 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>

解決方法は?

次のようなことを試してみてはいかがでしょうか。

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