小编chr*_*ris的帖子

命令参数Datagrid SelectedItems为空

因此,我从xaml中找到了这个答案Pass命令参数,我认为这是我了解的大多数方法。我遇到的问题是,当我在数据网格中选择一行时,它会触发命令,但所选项目为null。

我不知道并且怀疑是问题所在,我应该将所选项目传递给哪种类型的视图模型?目前,我正在使用IList,如我的viewmodel代码所示:

namespace Project_Manager.ViewModel
{
public class ProjectSummaryViewModel : ObservableObject
{
    public ProjectSummaryViewModel()
    {
        ProjectSummary = DatabaseFunctions.getProjectSummaryData();
    }

    private ObservableCollection<ProjectSummaryModel> projectsummary;
    public ObservableCollection<ProjectSummaryModel> ProjectSummary
    {
        get { return projectsummary; }
        set
        {
            projectsummary = value;
            OnPropertyChanged("ProjectSummary");
        }
    }

    public ICommand DeleteRowCommand
    {
        get { return new ParamDelegateCommand<IList<ProjectSummaryModel>>(DeleteRow); }
    }

    private void DeleteRow(IList<ProjectSummaryModel> projectsummaryselected)
    {
        string name = projectsummaryselected[0].ProjectName;
    }
}
}
Run Code Online (Sandbox Code Playgroud)

数据网格的XAML视图代码如下所示:

<Window x:Class="Project_Manager.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">

<!--<Window.Resources>
    <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</Window.Resources>-->

    <Grid>
    <Grid.RowDefinitions> …
Run Code Online (Sandbox Code Playgroud)

wpf binding datagrid mvvm commandparameter

0
推荐指数
1
解决办法
4993
查看次数

标签 统计

binding ×1

commandparameter ×1

datagrid ×1

mvvm ×1

wpf ×1