Silverlight 4 Toolkit DataGrid的CanUserSortColumns属性不适用于DateTime类型

时间:2011-10-04 17:44:01

标签: silverlight-4.0 datagrid datatemplate silverlight-toolkit

我刚刚注意到CanUserSortColumns DataGrid元素的DateTime属性在使用<sdk:DataGrid Grid.Row="0" x:Name="FoobarDataGrid" DataContext="foobar" AutoGenerateColumns="False" CanUserReorderColumns="True" CanUserResizeColumns="True" CanUserSortColumns="True" IsReadOnly="True" Width="Auto" Height="Auto" Margin="8"> <!-- row/column definitions here, skipped --> <sdk:DataGridTemplateColumn.CellTemplate> <DataTemplate> <sdk:DatePicker IsEnabled="False" UseLayoutRounding="True" SelectedDate="{Binding SomeWorkingBinding}" SelectedDateFormat="Short" /> </DataTemplate> </sdk:DataGridTemplateColumn.CellTemplate> <!-- row/column definitions here, skipped --> </sdk:DataGrid> 类型来源时似乎不起作用。其他所有类型都按预期做出反应。

XAML代码段

{{1}}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

对于DataGridTemplateColumn,您需要指定用于对列(值)进行排序的SortMemberPath。

<sdk:DataGridTemplateColumn SortMemberPath="SomeWorkingBinding">
  <sdk:DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
        <sdk:DatePicker
            IsEnabled="False"
            UseLayoutRounding="True"
            SelectedDate="{Binding SomeWorkingBinding}"
            SelectedDateFormat="Short" />
    </DataTemplate>
  </sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>