的状态更改ListView CellTemplate我有一个ListView,它有一个ObservableCollection作为它的ItemsSource,它有几列。其中之一是一个州列,根据项目的当前状态,显示不同的信息。目前这是作为一个基本的字符串来实现的,虽然它起作用,但它远没有漂亮或用户友好。我希望能够改变输出的种类以更适合项目的状态。根据项目
我的确做了一些研究,并且知道我需要使用CellTemplate来影响显示,但是所有不同类型的模板都会让我感到无法确定下一步该怎么做。
我的代码(不包括很多其他的ListView绒毛)如下:
<ListView Name="itemsListView" ItemsSource="{Binding Source={StaticResource listingDataView}}" IsSynchronizedWithCurrentItem="True">
...
<ListView.View>
<GridView AllowsColumnReorder="true" ColumnHeaderToolTip="Item Information">
...
<GridViewColumn DisplayMemberBinding="{Binding Path=StatusMessage}" Width="283" Header="Status" HeaderContainerStyle="{StaticResource GVHeaderLeftAlignedStyle}" />
</GridView>
</ListView.View>
</ListView>
是,该项目已硬编码“的状态消息”是靠上那实际上是相关的代码等性能更新,导致在我的代码的其他地方丑陋重复。 (是的,我知道这很不美观,但我也想改善它。)该属性将被称为ItemState
,因为我不是那么有创意。
所以,我的问题是:我该如何改变这个列以具有最适合给定状态的显示?文本描述适用于很多州,但有些文本描述会比较冗长,并且可能会从带有进度条的文本中获益,并且可能还有一些剩余时间。另一个州会从可点击的超链接中获益。换句话说,我认为我需要至少3个不同的CellTemplates。
我意识到这是一个相当开放的问题,很大程度上受到某人(我)的设计错误的困扰,他对WPF的经验很少,但这正是我希望有人经历可以让我直接设置用一些基本的代码之前,我已经比我更糟糕的东西混乱。 :)
太棒了。我花了一些时间让所有事情都按照我想要的方式工作(虽然我可能还得弄清楚如何使用多个控件),但现在我完全是extatic,在那里有一个进度条。谢谢你的帮助。 :) – Stigma 2011-05-08 16:28:28
不客气,很高兴它帮助:) – 2011-05-08 16:30:35
+1,正是我所期待的。 – 2012-08-21 11:09:52