リストビューのためにこれらをたくさん書く。思わ肥大化はほとんどが最初のDataContextを設定し、インクルードがテキストコンバーターを使用したバインド
<TextBlock DataContext="{Binding Path=SiteId, Converter={StaticResource siteConverter},ConverterParameter=SiteId}" Text="{Binding Path=SiteName}" ></TextBlock>
への結合アプライ明確にするために、テキストプロパティに直接結合
EDIT が追加されました完全な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));
私のviewmodelをロードする方法である
EDIT
レポートリストにはsiteidのみが含まれています
ビンゴ。それをより良い方法で合計してくれてありがとう。 –
+1:それは私が言いたかったものです(少なくとも "Or ..."という部分に関して)。しかし、理解するのは間違いありません。 – Nuffin