【发布时间】:2021-07-29 08:11:00
【问题描述】:
我有一个 x:DataType="myModel" 的 DataTemplate 现在我想绑定到 DataType 之外的属性我该怎么做?
【问题讨论】:
我有一个 x:DataType="myModel" 的 DataTemplate 现在我想绑定到 DataType 之外的属性我该怎么做?
【问题讨论】:
我有一个带有 x:DataType="myModel" 的 DataTemplate 现在我想绑定到 DataType 之外的属性我该怎么做?
如果你想访问DataType之外的属性,请使用Binding ElementName=Control Name然后从父DataContext访问外部属性
<Grid HorizontalAlignment="Stretch" x:Name="RootGrid">
<ListView ItemsSource="{Binding Items}" x:Name="MyListView">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch">
<TextBlock Text="{Binding}" VerticalAlignment="Center"/>
<Button HorizontalAlignment="Right"
Margin="0,0,30,0"
Content="Favorite"
Command="{Binding ElementName=MyListView,Path=DataContext.BtnCommand}"
CommandParameter="{Binding}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
这里有类似的case reply,您可以参考。
【讨论】: