小编use*_*191的帖子

C#WPF ListBox复选框绑定IsChecked到字段和IsSelected?

我正在尝试将CheckBox绑定到字段,但也会触发复选框的IsSelected.

以下是使用Binding to data的ListBox设置

<ListBox x:Name="lstExclude"  Grid.Column="2" SelectionMode="Single" >
  <ListBox.ItemTemplate>
    <DataTemplate>
      <CheckBox  Content="{Binding Text}" 
          IsChecked="{Binding Checked ,Mode=TwoWay}"/>
      </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)

这是与绑定相关的代码

public MainWindow()
{
    InitializeComponent();

    List<CheckBoxListItem> items1 = new List<CheckBoxListItem>();
    items1.Add(new CheckBoxListItem(true, “home”));
    items1.Add(new CheckBoxListItem(false, “work”));
    items1.Add(new CheckBoxListItem(true, “cell”));
    lstExclude.ItemsSource = items1;
}

public class CheckBoxListItem
{
   public bool Checked { get; set; }
   public string Text { get; set; }

   public CheckBoxListItem(bool ch, string text)
   {
     Checked = ch;
     Text = text;
    }
}
Run Code Online (Sandbox Code Playgroud)

这会正确地绑定复选框选中的值,但是如果我单击复选框(选中或取消选中),我希望它选择项目,所以我尝试这样做

<ListBox x:Name="lstExclude"  Grid.Column="2" SelectionMode="Single" …
Run Code Online (Sandbox Code Playgroud)

c# wpf checkbox listbox

10
推荐指数
2
解决办法
3万
查看次数

标签 统计

c# ×1

checkbox ×1

listbox ×1

wpf ×1