Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf “中的数据绑定问题”;ListView中的多选组合框;_Wpf_Xaml_Data Binding_Wpf Controls - Fatal编程技术网

Wpf “中的数据绑定问题”;ListView中的多选组合框;

Wpf “中的数据绑定问题”;ListView中的多选组合框;,wpf,xaml,data-binding,wpf-controls,Wpf,Xaml,Data Binding,Wpf Controls,请帮帮我, 我必须填充listview中的多选组合框。 我实现了multiselect combobox,并将其集成到Listview中。但我无法管理数据绑定部分 这是我的XAML代码 <Window.Resources> <Task:Task x:Key="Task"/> </Window.Resources> <Grid Width="278"> <ListView Name="XAxisAttributesList" P

请帮帮我, 我必须填充listview中的多选组合框。 我实现了multiselect combobox,并将其集成到Listview中。但我无法管理数据绑定部分

这是我的XAML代码

<Window.Resources>
    <Task:Task x:Key="Task"/>
</Window.Resources>
<Grid Width="278">
    <ListView Name="XAxisAttributesList" Padding="2"
  SelectionMode="Single"
  Visibility="Visible" Margin="0,0,22,0"
              DataContext="{Binding Source={StaticResource Task}}"
              ItemsSource="{Binding Path=AllItems}">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="X Axis" Width="{Binding ElementName=XAxisAttributesList, Path=ActualWidth}">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <control:MultiSelectComboBox x:Name="MC" Width="150" Height="30" 
                                         DataContext="{Binding Source={StaticResource Task}, Path=AllItems/ModelObject}" 
                                         ItemsSource="{Binding Items}" 
                                         SelectedItems="{Binding SelectedItems}"  
                                         Text="{Binding DisplayTitle}"/>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>
</Grid>

Task.cs
公共类任务
{
字符串名;
静态视图模型模型对象;
静态可观测采集;
公共任务()
{
Task.CreateTasks();
}
公共可观测集合项目
{
获取{return allItems;}
设置{allItems=value;}
}
公共任务(字符串名称、ViewModel\u modelObject)
{
this.Name=Name;
modelObject=\u modelObject;
}
公共静态void CreateTasks()
{
ObservableCollection列表=新的ObservableCollection();
List all=新列表();
全部。添加(“1”);
全部。添加(“2”);
全部。添加(“3”);
所选列表=新列表();
选定。添加(“1”);
添加(新任务(“Item1”,新视图模型(新的MultiSelectDemo.Attribute)(全部,选中,“Item1”));
添加(新任务(“Item2”,新视图模型(新的MultiSelectDemo.Attribute)(全部,选中,“Item2”));
添加(新任务(“Item3”),新视图模型(新的MultiSelectDemo.Attribute(全部,选中,“Item3”));
allItems=列表;
}
公共字符串选项
{
获取{返回this.Name;}
}
公共视图模型模型对象
{
获取{return modelObject;}
}
}
请 看到这里的图片了吗


不是填充项目1、项目2和项目3,而是始终只填充项目3,实际上有两个问题:
第一个问题是:

DataContext="{Binding Source={StaticResource Task}, Path=AllItems/ModelObject}"
应该是
DataContext=“{Bindind ModelObject}”


第二个问题是
静态ViewModel modelObject不应该是静态的。

您绑定到了
SelectedItems
,但是您的任务类中没有
SelectedItems
属性?!
DataContext="{Binding Source={StaticResource Task}, Path=AllItems/ModelObject}"