Mam listę (patrz poniżej) zawartą w oknie. Okno DataContext
ma dwie właściwości Items
i AllowItemCommand
.
Jak mogę uzyskać wiążące dla Hyperlink
„s Command
potrzeb własności Aby rozwiązać przed okno na 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
Jordania
źródło
źródło
Odpowiedzi:
Możesz spróbować czegoś takiego:
źródło
Będzie to również działać:
ListView
odziedziczy toDataContext
po nimWindow
, więc jest dostępny również w tym momencie.A ponieważ
ListView
, podobnie jak w podobnych kontroli (npGridview
,ListBox
itd), jest podklasąItemsControl
TheBinding
takich kontroli będzie działać doskonale.źródło
Działa to również w Silverlight 5 (być może również wcześniej, ale go nie testowałem). Użyłem takiego źródła względnego i działało dobrze.
RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=telerik:RadGridView}"
źródło