public List Checks { get; set; }

我的目标是以这样的方式将我的复选框绑定到列表,当复选框1被选中时,“复选1”将被添加到列表中,当它被选中时,“复选1”将被删除,依此类推。

public class CheckBoxToListConverter : IValueConverter

List bound;

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)

bound = value as List;

if (bound.Contains(parameter.ToString()))

return true;

return false;

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

bool isChecked = (bool)value;

if (isChecked)

bound.Add(parameter.ToString());

return true;

bound.Remove(parameter.ToString());

return false;

然后我对我的复选框进行了以下绑定:

是什么导致了这个错误?我怎样才能以正确的方式完成这个任务?

假设我有几个复选框,在ViewModel中有一个字符串列表。public List Checks { get; set; }我的目标是以这样的方式将我的复选框绑定到列表,当复选框1被选中时,“复选1”将被添加到列表中,当它被选中时,“复选1”将被删除,依此类推。public class CheckBoxToListConverter : IValueConverter{List bound;pub... <Window x:Class=" checkbox test.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
描述:ListView是 WPF 中动态 绑定 工具的数据容器,本文实现了 一个 在ListView中显示的供用户选择的 列表 项目,并且控制 列表 中选择的项目数量,即实现单选。 XAML中创建ListView,代码如下: <ListView x:Name="listView_LineOfBusiness" Width="280" Height="220"> <ListView....
绑定 到对象:以上都是 绑定 的对象的属性,更常见的是 绑定 到对象。 A more common situation, however, is that you will want to bind the controls to one object at a time from a collection of objects. Figure 8-18 shows an example. This program is similar to the example in the previous section,
1. 元素 绑定 数据 绑定 最简单的形式是源对象是 WPF 元素而且源属性是依赖项属性。依赖项属性具有内置的更改通知支持。因此当源对象中改变依赖属性的值时,会立即更新目标对象中的 绑定 属性。 绑定 表达式 当使用 绑定 表达式时,不必对源对象做任何改动,只需配置源对象使其属性具有正确的值范围。 <Slider Grid.Row="0" Name="slide... 这个控件是由 一个 复选框( CheckBox )与 一个 ListView 组合而成。它的操作逻辑: 当 选中 “全选”时, 列表 中所有的项目都会被 选中 ;反之,取消 选中 “全选”时,所有项都会被取消勾选。 在 列表 选中 部分数据项目时,“全选”框会呈现不确定状态(Indetermine)。 由此看出,“全选”复选框与 列表 项中的复选框达到了双向控制的效果。 其设计思路:首先,创建自定义控件(CheckListView),在其 ControlTemplate 中定义 CheckBox 和 ListView,并为 ListView 设置 Ite
我们已经了解到使用 WPF 可以设计强大的用户界面,那么用户界面和后台逻辑之间的数据传递是如何实现的呢,这里就使用到 WPF 中的数据 绑定 功能。这也是 WPF 比较核心的部分。数据 绑定 功能的优势包括 ,包括本质上支持数据 绑定 的各种属性、灵活的数据 UI 表示形式,以及业务逻辑与 UI 的完全分离。 数据 绑定 : 数据 绑定 是应用程序UI与业务逻辑之间建立连接的 一个 过程。 使用数据 绑定 始终要有
WPF MVVM中,通常不建议使用 事件 触发器来处理交互逻辑,而是使用 绑定 命令和属性来实现。对于 CheckBox 绑定 ,可以使用Is Checked 属性与ViewModel中的属性进行双向 绑定 ,示例代码如下: 在ViewModel中定义属性: ```csharp private bool _is Checked ; public bool Is Checked get { return _is Checked ; } _is Checked = value; OnPropertyChanged(nameof(Is Checked )); // 在此处添加处理逻辑 在View中进行 绑定 : ```xml < CheckBox Is Checked ="{Binding Is Checked , Mode=TwoWay}" /> 通过这种方式,当 CheckBox 的状态发生改变时,ViewModel中的Is Checked 属性也会随之改变,从而可以在ViewModel中处理 CheckBox 的状态变化。同时,如果需要在ViewModel中主动修改 CheckBox 的状态,也可以直接修改Is Checked 属性,从而实现双向 绑定