亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 CommandParameter 發送列表

如何使用 CommandParameter 發送列表

C#
慕神8447489 2022-06-12 15:06:04
我有一個 ListView,因為它支持多項選擇,所以我有一個按鈕,我可以在其中收集所有 SelectedItems 并使用 CommandParameter 傳遞它們。對此我很陌生,我真的不知道如何使用參數。將列表傳遞給我的 ViewModel 后如何訪問該列表?請看下面的代碼:看法<ListView x:Name="ListView"  ItemsSource="{Binding myModel.myCollection}"><Button Command="{Binding SelectBtnOnClickCommand}" CommandParameter="{Binding SelectedItems, ElementName=ListView}">視圖模型public class SiteListViewModel{    public ICommand AddBtnOnClickCommand { get; }    private ICommand _selectBtnOnClickCommand;    public ICommand SelectBtnOnClickCommand    {        get        {            if (_selectBtnOnClickCommand == null)                _selectBtnOnClickCommand = new RelayCommand(o =>                {                    var selectedSites = (o as IList);                    if (selectedSites != null)                    {                        foreach (var model in selectedSites.OfType<SiteUrlsModel>())                        {                            //                        }                    }                });            return _selectBtnOnClickCommand;        }    }    private readonly IWindowService _windowService;    public static SiteUrlsModel SiteUrlsModel { get; } = new SiteUrlsModel();    public ObservableCollection<SiteUrlsModel> SelectedSites { get; set; }    private readonly ClientContext _clientContext = new ClientContext();    public SiteListViewModel(IWindowService windowService)    {        _windowService = windowService;        AddBtnOnClickCommand = new RelayCommand(AddBtnOnClick);        //SelectBtnOnClickCommand = new RelayCommand(SelectBtnOnClick);        RefreshSiteListView();    }    public void AddBtnOnClick()    {        _addSiteWindow = new AddSite(this);        _addSiteWindow.Show();    }    public void SelectBtnOnClick(ObservableCollection<SiteUrlsModel> checkedList)    {        foreach (var site in checkedList)        {            site.IsChecked = true;        }    }    
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

ListView.SelectedItems是一個IList:


private ICommand _selectBtnOnClickCommand;

public ICommand SelectBtnOnClickCommand

{

    get

    {

        if (_selectBtnOnClickCommand == null)

            _selectBtnOnClickCommand = new RelayCommand(o =>

            {

                var selectedSites = (o as IList);

                if (selectedSites != null)

                {

                    foreach (var model in selectedSites.OfType<SiteUrlsModel>())

                    {

                        //

                    }

                }

            });

        return _selectBtnOnClickCommand;

    }

}


查看完整回答
反對 回復 2022-06-12
  • 1 回答
  • 0 關注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號