【问题标题】:ListView items not rendering in GridView columnsListView 项目未在 GridView 列中呈现
【发布时间】:2009-04-14 17:37:13
【问题描述】:

我有一个 ListView 控件绑定到项目的 ObservableCollection,我已经将它的视图设置为 GridView,列绑定到属性数据。事情似乎没问题,但源属性中的数据根本没有被渲染。这是 ScanData 结构:

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 partial class AddServerDialog
{
    PortScanner _scanner;
    ObservableCollection<ScanData> _resultList;
    Brush _defaultPortTextBorderBrush;

    public AddServerDialog()
    {
        this.InitializeComponent();
        _resultList = new ObservableCollection<ScanData>();
        _resultsListView.DataContext = _resultList;
    }

    // ...

    private void _addScanButton_Click(object sender, RoutedEventArgs e)
    {
        _resultList.Add(_scanner.CreateScan(ushort.Parse(_portText.Text)));
    }
}

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

【问题讨论】:

    标签: c# .net wpf listview


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      相关资源
      最近更新 更多