C# 未在GridView列中呈现的ListView项

C# 未在GridView列中呈现的ListView项,c#,.net,wpf,listview,C#,.net,Wpf,Listview,我将ListView控件绑定到一个ObservableCollection项,并将其视图设置为GridView,其中列绑定到属性数据。看起来一切正常,但根本没有呈现源属性中的数据。下面是Scanda结构: struct ScanData { public ushort Port; public bool? Status; public string ServiceName; } XAML: <ListView IsSynchronizedWithCurrentIt

我将ListView控件绑定到一个ObservableCollection项,并将其视图设置为GridView,其中列绑定到属性数据。看起来一切正常,但根本没有呈现源属性中的数据。下面是Scanda结构:

struct ScanData
{
    public ushort Port;
    public bool? Status;
    public string ServiceName;
}
XAML:

<ListView IsSynchronizedWithCurrentItem="True" Width="Auto" Name="_resultsListView" ItemsSource="{Binding}" Height="138">
    <ListView.View>
        <GridView ScrollViewer.IsDeferredScrollingEnabled="True">
            <GridViewColumn Header="Port" Width="50" DisplayMemberBinding="{Binding Path=Port}"/>
            <GridViewColumn Header="Status" DisplayMemberBinding="{Binding Path=Status}"/>
            <GridViewColumn Header="Service" Width="231" DisplayMemberBinding="{Binding Path=ServiceName}"/>
    </GridView>
    </ListView.View> 
</ListView>

代码隐藏(无论如何,最相关的部分):

public分部类AddServerDialog
{
端口扫描器(u扫描器),;
可观察收集结果列表;
笔刷_defaultPortTextBorderBrush;
公共AddServerDialog()
{
this.InitializeComponent();
_结果列表=新的可观察集合();
_resultsListView.DataContext=\u resultList;
}
// ...
私有无效\u添加扫描按钮\u单击(对象发送者,路由目标)
{
_添加(_scanner.CreateScan(ushort.Parse(_portText.Text));
}
}

当我单击导致_addScanButton _click触发的按钮时,我可以看到项目被添加到渲染的ListView中(例如,行是可选的),但三列中没有显示任何内容。DataContext中的Scanda项都设置了端口属性,所以它不应该在“端口”列中呈现数字吗?其他两个属性在运行时为空,因此我不希望看到它们。

Scanda上的数据必须是属性,而不是字段

struct ScanData
{
    public ushort Port {get;set;}
    public bool? Status{get;set;}
    public string ServiceName{get;set;}
}

Scanda上的数据必须是属性,而不是字段

struct ScanData
{
    public ushort Port {get;set;}
    public bool? Status{get;set;}
    public string ServiceName{get;set;}
}