上下文:一個C#4.0 WPF應用程序,帶有一個具有一個TemplateColumn的數據網格,顯示進度條。如何有條件地隱藏WPF DataGrid的TemplateColumn中的元素?
如何才能讓網格根據條件僅顯示某些項目的進度條?
也許聽事件和隱藏細胞/設置visibile爲false將是一個選項。
這是它的外觀現在(將顯示所有項目的進度條):
<UserControl.Resources>
<DataTemplate x:Key="PotentialDataTemplate">
<Grid Width="70">
<ProgressBar
Height="12"
VerticalAlignment="Center"
Value="{Binding Path=Potential, Mode=OneWay}" />
</Grid>
</DataTemplate>
</UserControl.Resources>
<DataGrid x:Name="dataGrid"
ItemsSource="{Binding Path=Items}"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTemplateColumn
Header="{Binding Source={x:Static text:TextBindingProvider.Instance}, Path=CompendiumHeaderPotential}"
Width="Auto"
MinWidth="80"
CellTemplate="{StaticResource PotentialDataTemplate}"
IsReadOnly="true"
SortMemberPath="Potential" />
</DataGrid.Columns>
</DataGrid>
謝謝你給我的那些其他的選擇!現在我實現了自己的屬性,但我也會查看DataTriggers。你究竟是什麼意思與轉換器?是我可以查找的WPF概念嗎? – Cilvic 2011-04-27 15:25:18
嘿,WPF中的綁定允許您指定一個轉換器,它是從IValueConverter接口傳遞的類:http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx它允許複雜的綁定和許多其他有用的轉換。 – 2011-04-27 15:36:14