繁体   English   中英

WPF ListView绑定显示类名称空间

[英]WPF ListView Binding showing class namespace

我的XAML中有一个ListView定义为

<vm:JobListView x:Name="JobEditor" ItemsSource="{Binding Path=JobListViewSource}">
    <ListView.View>
        <GridView AllowsColumnReorder="False">
            <GridViewColumn Width="10" HeaderContainerStyle="{DynamicResource FirstColumnGridViewColumnHeader}" CellTemplate="{StaticResource EmptyColumnTemplate}" />
            <vm:SortListViewColumn Header="Description" Width="100" SortProperty="Description" SortStyle="JobDataGridViewColumnHeader" CellTemplate="{StaticResource DescriptionColumnTemplate}" />

            <vm:SortListViewColumn Header="Staff" Width="100" SortProperty="Staff.FirstName" SortStyle="JobDataGridViewColumnHeader" CellTemplate="{StaticResource StaffColumnTemplate}" />

            <vm:SortListViewColumn Header="Client" Width="50" SortProperty="Client.Name"  SortStyle="JobDataGridViewColumnHeader" CellTemplate="{StaticResource ClientColumnTemplate}" />

            <vm:SortListViewColumn Header="Samples" Width="100" SortProperty="Samples" SortStyle="JobDataGridViewColumnHeader" CellTemplate="{StaticResource SamplesNoColumnTemplate}" />

            <vm:SortListViewColumn Header="Entry Date" Width="100" SortProperty="EntryDate" SortStyle="JobDataGridViewColumnHeader" CellTemplate="{StaticResource EntryDateColumnTemplate}" />

            <GridViewColumn Width="10" CellTemplate="{StaticResource EmptyColumnTemplate}" />
        </GridView>
    </ListView.View>
</vm:JobListView>

vm:JobListView是一个从ListView继承的类

CellTemplates的定义如下:-

<!-- description column -->
<DataTemplate x:Key="DescriptionColumnTemplate">
    <TextBox Style="{StaticResource ReadOnlyTextBlockStyle}" Text="{Binding Path=Description}" />
</DataTemplate>

ItemsSource绑定到我的VM上定义的属性,如下所示:-

public ICollectionView JobListViewSource
{
    get { return Get(() => JobListViewSource); }
    set { Set(() => JobListViewSource, value); }
}

我将属性设置为:

CollectionViewSource source = new CollectionViewSource();
source.Source = this.Jobs;
this.JobListViewSource = source.View;

其中Jobs是Job对象的ObservableCollection

我在网格中显示的只是Job对象的名称空间,而不是每一列中的各个属性

我究竟做错了什么?

尝试使用

this.JobListViewSource.SourceCollection = this.Jobs而不是

CollectionViewSource source = new CollectionViewSource();
source.Source = this.Jobs;
this.JobListViewSource = source.View;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM