的狀態更改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