我在MVVM的列表视图中使用了一个复选框。我将复选框的“ IsChecked”属性绑定到所选项目的模型属性,以便我知道记录是处于活动状态还是处于非活动状态。每当用户选中此框时,我都需要将此状态保存到数据库中,因此我需要选定的项目来收集详细信息,以使用命令保存更改。
如果用户选择记录,然后选中或取消选中复选框,则所选项目将作为命令参数传递,并且将按预期工作。我的问题是,当用户只是选中或取消选中复选框而没有选择项目时。然后,command参数为null,或者如果选择了其他选项,则传递错误的选择项。如何获得用于选择项目的复选框,以便始终将正确的所选项目传递到命令参数中?
列表视图中使用的复选框...
<CheckBox IsChecked="{Binding IsActive, Mode=TwoWay}"
Command="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type Window}}, Path=DataContext.ChangeCheckedHomePlayerCmd}"
CommandParameter="{Binding ElementName=homeListBox, Path=SelectedItem}">
</CheckBox>
答案 0 :(得分:1)
要将相应项目作为private static string SplitIntoChunks(string text, int maxWidth)
{
var sb = new StringBuilder(text);
for (int i = 1; i < (sb.Length / maxWidth); i++)
{
int insertPosition = i * maxWidth + i - 1;
sb.Insert(insertPosition, "\n");
}
return sb.ToString();
}
var splitIntoChunks = SplitIntoChunks(FileContent, 34);
using (engine.BeginReadString(splitIntoChunks))
{
// The engine is IEnumerable
foreach (dtoRARecord detail in engine)
{
// your code here
raRecords.Add(detail);
}
}
Assert.AreEqual(4, raRecords.Count());
传递,您只需执行此操作
CommandParameter