Eu tenho uma lista (veja abaixo) contida em uma janela. A janela DataContext
tem duas propriedades Items
e AllowItemCommand
.
Como faço para obter a ligação para os Hyperlink
's Command
necessidades de propriedade para resolver contra a janela 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
Jordânia
fonte
fonte
Respostas:
Você pode tentar algo como isto:
fonte
Isso também funcionará:
ListView
herdará seuDataContext
deWindow
, então também está disponível neste momento.E já que
ListView
, assim como controles semelhantes (por exemploGridview
,ListBox
etc.), é uma subclasse deItemsControl
, oBinding
controle para tais controles funcionará perfeitamente.fonte
Isso também funciona no Silverlight 5 (talvez mais cedo também, mas ainda não o testei). Eu usei a fonte relativa assim e funcionou bem.
RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=telerik:RadGridView}"
fonte