Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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
C# ListView没有';即使C中有,也不显示项目#_C#_Wpf_Listview - Fatal编程技术网

C# ListView没有';即使C中有,也不显示项目#

C# ListView没有';即使C中有,也不显示项目#,c#,wpf,listview,C#,Wpf,Listview,我的XAML中有一个列表视图: <ListView HorizontalAlignment="Stretch" x:Name="jobs" VerticalAlignment="Stretch" DockPanel.Dock="Top" Foreground="Black" SelectionMode="Single" SelectionChanged="selectionJobChanger" IsSynchronizedWithCurrentItem="False">

我的XAML中有一个列表视图:

<ListView HorizontalAlignment="Stretch" x:Name="jobs"  VerticalAlignment="Stretch" DockPanel.Dock="Top" Foreground="Black" SelectionMode="Single" SelectionChanged="selectionJobChanger" IsSynchronizedWithCurrentItem="False">
            <ListView.ItemContainerStyle>
                <Style TargetType="{x:Type ListViewItem}">
                    <Style.Triggers>
                        <Trigger Property="IsSelected" Value="True">
                            <Setter Property="Foreground" Value="Black"/>
                            <Setter Property="Background" Value="Yellow"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </ListView.ItemContainerStyle>
            <ListView.View>
                <GridView>
                    <GridView.ColumnHeaderContainerStyle>
                        <Style BasedOn="{StaticResource {x:Type GridViewColumnHeader}}" TargetType="{x:Type GridViewColumnHeader}">
                            <Setter Property="IsHitTestVisible" Value="False"/>
                            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                        </Style>
                    </GridView.ColumnHeaderContainerStyle>
                    <GridViewColumn Header="Commessa" Width="Auto" DisplayMemberBinding="{Binding PrjCode}"/>
                    <GridViewColumn Header="Creazione" Width="Auto" DisplayMemberBinding="{Binding ValidFrom}"/>
                    <GridViewColumn Header="Descrizione" Width="Auto" DisplayMemberBinding="{Binding PrjName}"/>
                    <GridViewColumn Header="Tipo" Width="Auto"  DisplayMemberBinding="{Binding Prototype}"/>
                    <GridViewColumn Header="Project Engineer" Width="Auto" DisplayMemberBinding="{Binding ProjectEngineer}"/>
                    <GridViewColumn Header="Product Manager" Width="Auto" DisplayMemberBinding="{Binding ProductManager}"/>
                </GridView>
            </ListView.View>
        </ListView>
在视图的代码隐藏中,我填充listview:

 public void showJobsList(List<Job> listOfJobs)
        {
            jobs.Items.Refresh();
            jobs.ItemsSource = listOfJobs;
            jobs.Items.Refresh();
        }
public void showJobsList(作业列表)
{
jobs.Items.Refresh();
jobs.ItemsSource=作业列表;
jobs.Items.Refresh();
}
使用来自查询的数据填充模型后,将在演示者的构造函数内调用此方法


问题是,在listView中,我看不到任何项目,但我确信它们存在,因为我可以在鼠标悬停时看到listView中的几行空行,然后我可以正确获得其他作用域的这些值,但我希望listView能够正常工作。

为什么不使用MVVM?当您遵循MVVM模式时,不必调用
Refresh
。不一定@MightyBadaboom,在处理CollectionViewSource时,有时您必须调用
CollectionViewSource.GetDefaultView(jobs.ItemsSource).Refresh()此处不需要一个刷新或另一个刷新。所需要的只是
jobs.ItemsSource=listOfJobs
,并且作业成员是属性,而不是属性fields@Clemens好样的!我忽略了
Job
包含字段而不是属性的事实@克莱门斯:我在物业和工程方面改变了工作领域,非常感谢!
 public void showJobsList(List<Job> listOfJobs)
        {
            jobs.Items.Refresh();
            jobs.ItemsSource = listOfJobs;
            jobs.Items.Refresh();
        }