我想要做的是根據另一列中的相應行設置單元格在一列中的小數位數。但是我仍然需要第一列來允許在轉換後進行排序。根據其他列中的值更改DataGridTextColumn單元格中的字符串格式,並保留值可排序
我嘗試的第一件事是使用IValueConverter。這裏是XAML:
<Window.Resources>
<src:DataValueConverter x:Key="dataValueConverter" />
</Window.Resources>
<Grid>
<DataGrid x:Name="dataGrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Id" Binding="{Binding Id}"></DataGridTextColumn>
<DataGridTextColumn Header="Humidity" Binding="{Binding Humidity, Converter={StaticResource dataValueConverter}"></DataGridTextColumn>
<DataGridTextColumn Header="Version" Binding="{Binding Version}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
在這裏,我想基於版本值溼度值小數位的數量。所以我嘗試將版本傳遞給ConverterParameter,然後很快發現它不接受綁定。
我試着用MultiBinding和MultiValueConverter建議Binding ConverterParameter。它確實顯示了不同的小數位數,但列不能再排序。也嘗試了這種可綁定的ConverterParameter http://www.codeproject.com/Articles/456589/Bindable-Converter-Parameter,給出了相同的結果。
那麼是否可以填寫ConverterParameter以獲得所需的結果?
<DataGridTextColumn Header="Humidity" Binding="{Binding Humidity, Converter={StaticResource dataValueConverter}, ConverterParameter=???}">