Tengo una lista (ver más abajo) contenida en una ventana. La ventana DataContext
tiene dos propiedades, Items
y AllowItemCommand
.
¿Cómo obtengo el enlace para la propiedad de Hyperlink
's Command
debe 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á:
ListView
heredaráDataContext
deWindow
, 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
, losBinding
controles 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