Tengo una lista (ver más abajo) contenida en una ventana. La ventana DataContexttiene dos propiedades, Itemsy AllowItemCommand.
¿Cómo obtengo el enlace para la propiedad de Hyperlink's Commanddebe resolverse contra la ventana 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>
wpf
data-binding
datacontext
Jordán
fuente
fuente

Respuestas:
Podrías probar algo como esto:
fuente
Esto también funcionará:
ListViewheredaráDataContextdeWindow, por lo que también está disponible en este punto.Y dado que
ListView, al igual que los controles similares (pGridview. Ej .ListBox, Etc.), es una subclase deItemsControl, losBindingcontroles de ese tipo funcionarán perfectamente.fuente
Esto también funciona en Silverlight 5 (quizás también antes pero no lo he probado). Usé la fuente relativa de esta manera y funcionó bien.
RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=telerik:RadGridView}"fuente