J'ai une liste (voir ci-dessous) contenue dans une fenêtre. La fenêtre DataContext
a deux propriétés, Items
et AllowItemCommand
.
Comment puis-je obtenir la liaison pour les Hyperlink
s » Command
besoins de propriété à résoudre contre la fenêtre de 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
Jordan
la source
la source
Réponses:
Vous pouvez essayer quelque chose comme ceci:
la source
Cela fonctionnera également:
ListView
héritera sesDataContext
deWindow
, il est donc disponible à ce moment - là, aussi.Et comme
ListView
, tout comme les contrôles similaires (par exempleGridview
,ListBox
etc.), est une sous-classe deItemsControl
,Binding
pour de tels contrôles fonctionneront parfaitement.la source
Cela fonctionne également dans Silverlight 5 (peut-être plus tôt, mais je ne l'ai pas testé). J'ai utilisé la source relative comme ça et cela a bien fonctionné.
RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=telerik:RadGridView}"
la source