【发布时间】:2012-03-01 08:17:09
【问题描述】:
为列表视图编写了很多这些内容。首先设置数据上下文和应用绑定到文本似乎有点臃肿
<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>
编辑 这就是我加载视图模型的方式
ReportList = reportListService.Open(filePath);
this.reportsView = CollectionViewSource.GetDefaultView(this.ReportList.Reports);
this.reportsView.SortDescriptions.Add(
new SortDescription("ReportName", ListSortDirection.Ascending));
ReportList 只包含 siteid
【问题讨论】: