gpt4 book ai didi

mvvm - 调用 EventToCommand 后 Datagrid selecteditem 被设置回 null

转载 作者:行者123 更新时间:2023-12-03 10:51:51 25 4
gpt4 key购买 nike

我有一个在 MVVMLight 中创建的 Silverlight 4 应用程序。
在一个 View 中,我有一个绑定(bind)到我的 ViewModel 的 DataGrid,它在我的 ViwModel 中再次绑定(bind)到 SelectedItem 的 SelectedItem:

<sdk:DataGrid Name="MyGrid"  AutoGenerateColumns="False" Grid.Row="3"  MaxHeight="200"  HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" RowHeight="35" 
SelectedItem="{Binding SelectedItem, Mode=TwoWay, ValidatesOnNotifyDataErrors=False}" ItemsSource="{Binding Items}" >

当我单击网格中的一个项目时,这一切都正常工作,我的 ViewModel 中的 SelectedItem 设置正确。

现在,我在 Datagrid 中的行中添加了一个按钮,并向绑定(bind)到同一个 ViewModel 的按钮添加了一个 EventToCommand:
<Button Content="Update" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<Command:EventToCommand Command="{Binding Source={StaticResource Locator}, Path=MainDialog.ButtonCommand, Mode=TwoWay}" />
</i:EventTrigger>
</i:Interaction.Triggers>

此命令触发并正常工作 问题是 我现在要使用的之前设置的 SelectedItem 属性设置为 null!

为什么这个 EventToCommand 会重置 SelecteedItem 属性以及如何停止它以便我可以使用它???

最佳答案

你应该分享你的代码,让我们看看问题是什么。但也许问题是您将所选项目设置为不在数据网格的 itemsource 集合中的对象。尝试像这样设置选定项

SelectedItem = Items.Where(x => x.Id == someId).First();

看看这是否是问题..当然在哪里改变条件.. :)

关于mvvm - 调用 EventToCommand 后 Datagrid selecteditem 被设置回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4647446/

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