gpt4 book ai didi

c# - 如何从 ListView 中访问页面的数据上下文?

转载 作者:行者123 更新时间:2023-11-30 23:11:01 25 4
gpt4 key购买 nike

我正在使用 MVVM Cross 构建 UWP 应用程序。我无法将命令绑定(bind)到按钮。之前在 XAML 页面中,我使用交互来绑定(bind)其他命令。这里的问题是我们使用 ListView 来呈现用户的“最喜欢的列表”。 UnfavoriteCommand 在 ViewModel 中但永远不会被命中,因为 User.Favorite 列表在模型中并且没有“UnfavoriteCommand”。我如何使用 MVVM Cross 处理这个绑定(bind)问题?

            <ListView 
Grid.Row="0"
Grid.Column="0"
CanReorderItems="True"
CanDrag="True"
AllowDrop="True"
ItemsSource="{Binding User.FavoriteList}">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="500" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Grid.Row="0"
HorizontalAlignment="Left"
Margin="0, 0, 0, 0"
Height="25" >
<TextBlock Text="{Binding Description, Mode=TwoWay}"
VerticalAlignment="Center"
TextAlignment="Left"/>
</StackPanel>
<StackPanel VerticalAlignment="Center" Grid.Column="1" Grid.Row="0">
<Button Content="&#xf00d;"
FontFamily="{StaticResource FontAwesomeFontFamily}"
BorderBrush="Black">

<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="Click">
<Core:EventTriggerBehavior.Actions>
<Core:InvokeCommandAction CommandParameter="{Binding}" Command="{Binding UnfavoriteCommand}"/>
<!--<Core:CallMethodAction TargetObject="{Binding}" MethodName="Unfavorite" />-->
<!--<Core:InvokeCommandAction Command="{Binding UnfavoriteCommand}" InputConverter="{StaticResource buttonConverter}"/>-->
</Core:EventTriggerBehavior.Actions>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Button>
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

最佳答案

为您的页面命名并使用 ElementName 绑定(bind)。

<Core:InvokeCommandAction CommandParameter="{Binding}" Command="{Binding DataContext.UnfavoriteCommand, ElementName=PageName}"/>

关于c# - 如何从 ListView 中访问页面的数据上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45017396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com