【发布时间】:2020-08-14 21:14:54
【问题描述】:
我正在使用 Caliburn.Micro 编写 WPF 应用程序。我想根据带有复选框的列表框中的选中项目更新名称列表。
XAML:
<ListBox ItemsSource="{Binding Names}">
<ListBox.ItemTemplate>
<HierarchicalDataTemplate>
<CheckBox Content="{Binding Value}" IsChecked="{Binding IsChecked}" />
</HierarchicalDataTemplate>
</ListBox.ItemTemplate>
</ListBox>
IsChecked 绑定有效,因此我可以运行一个方法来验证哪些元素已被检查并更新名称列表。我的第一种方法是将命令绑定到复选框 Click 事件或 Checked/Unchecked,但我无法让它工作......
<CheckBox Content="{Binding Value}" IsChecked="{Binding IsChecked}" Click="{Binding UpdateNameList}" />
在我的 ViewModel 中:
public void UpdateNameList()
{
// update list...
}
我在运行时收到此错误:
error Unable to cast object of type 'System.Reflection.RuntimeEventInfo' to type 'System.Reflection.MethodInfo'.
如何使用 Caliburn.Micro 绑定到复选框单击事件?或者我应该以其他方式做到这一点?
谢谢
【问题讨论】:
-
如何在 XAML 代码中传递对象和 RoutedEventArgs?
标签: c# wpf caliburn.micro