У меня есть список (см. Ниже), содержащийся в окне. Окно DataContext
имеет два свойства, Items
и AllowItemCommand
.
Как я могу получить привязку для свойства Hyperlink
's, Command
чтобы разрешить против окна 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
Иордания
источник
источник
Ответы:
Вы можете попробовать что-то вроде этого:
источник
Это также будет работать:
ListView
будет наследовать егоDataContext
отWindow
, так что он также доступен на этом этапе.И поскольку
ListView
, как и аналогичные элементы управления (напримерGridview
,ListBox
и т. Д.), Является подклассомItemsControl
,Binding
такие элементы управления будут работать идеально.источник
Это также работает в Silverlight 5 (возможно, раньше, но я не проверял). Я использовал относительный источник, как это, и он работал нормально.
RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=telerik:RadGridView}"
источник