2017-01-27 89 views
1

我希望能夠在列表視圖中獲取和設置複選框的狀態。我希望能夠自動更新MyListItems[row].myCheckedValue,當通過xaml(我對綁定知之甚少)或者能夠逐行遍歷每個列表項並單擊C#中的複選框單擊該框時。我也不知道如何處理。我剛開始使用WPF。將列表視圖中的複選框綁定到類變量?

我還可以使用經過和未選中的事件,但我不知道如何檢索列表項的複選框中的行。

<ListView Name="listView"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
     <CheckBox x:Name="checkBox" Checked="itsChecked" Unchecked="itsUnchecked"/> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

public List<myListItem> MyListItems; 
... 
listView.ItemsSource = MyListItems; 
... 
public class myListItem { 
    public bool myCheckedValue; 
} 

private void getCheckedItems() { 
    //Loop through listview rows and get checkbox state 
    //??? 
} 

private void itsChecked(object sender, RoutedEventArgs e) { 
    //How can I get the row this checkbox is in?? 
} 

回答

1

<GridViewColumn Header="Selected"> 
      <GridViewColumn.CellTemplate> 
       <DataTemplate> 
        <CheckBox x:Name="chk" IsChecked="{Binding MyListItemsBoolField}" /> 
       </DataTemplate> 
      </GridViewColumn.CellTemplate> 
     </GridViewColumn> 

假設你listView.ItemsSource = MyListItems;將保持

0

它應該與將CheckBox的IsChecked屬性綁定到ViewModel上的屬性(您可能需要添加一個新屬性,如果它尚不存在)一樣簡單。

相關問題