为listview写入很多这些东西。似乎有点臃肿首先设置的datacontext和套用绑定到文本与转换器绑定
<TextBlock DataContext="{Binding Path=SiteId, Converter={StaticResource siteConverter},ConverterParameter=SiteId}" Text="{Binding Path=SiteName}" ></TextBlock>
有没有做的Text属性直接绑定
编辑 加满XAML澄清
<ListView SelectedItem="{Binding SelectedReport}" AlternationCount="2" Grid.Row="2" Name="reportList" ItemsSource="{Binding ReportsView}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch">
<ListView.View>
<GridView>
<GridView.ColumnHeaderContextMenu>
<ContextMenu >
<MenuItem Header="Ascending" />
<MenuItem Header="Descending" />
</ContextMenu>
</GridView.ColumnHeaderContextMenu>
<GridViewColumn Header="Action" CellTemplate="{StaticResource imageCell}" Width="Auto"/>
<GridViewColumn Header="Reportname" Width="Auto" CellTemplate="{StaticResource reportNameCell}"/>
<GridViewColumn Header="Site" Width="Auto" CellTemplate="{StaticResource reportSiteNameCell}"/>
<GridViewColumn Header="Company" Width="Auto" CellTemplate="{StaticResource reportCompanyNameCell}"/>
<GridViewColumn Header="Type" Width="Auto" DisplayMemberBinding="{Binding DocType}"/>
<GridViewColumn Header="Status" Width="Auto" DisplayMemberBinding="{Binding Status}"/>
<GridViewColumn Header="Created by" Width="Auto" DisplayMemberBinding="{Binding CreatedBy}"/>
<GridViewColumn Header="Language" Width="Auto" DisplayMemberBinding="{Binding CreatedBy}"/>
<GridViewColumn Header="Updated" Width="Auto" DisplayMemberBinding="{Binding Updated}"/>
</GridView>
</ListView.View>
</ListView>
编辑 这是我如何加载我的ViewModel
ReportList = reportListService.Open(filePath);
this.reportsView = CollectionViewSource.GetDefaultView(this.ReportList.Reports);
this.reportsView.SortDescriptions.Add(
new SortDescription("ReportName", ListSortDirection.Ascending));
ReportList只包含siteid
Bingo加载该类。感谢您以更好的方式总结它。 – 2012-02-08 21:09:18
+1:这几乎是我想说的(至少就“或......”部分而言),但它绝对容易理解。 – Nuffin 2012-02-08 21:39:02