Примечание: заголовок этого вопроса раньше был чем-то как "Как к printf в Python?"
, Так как люди могут приехать, сюда ища его на основе заголовка, Python также поддерживает замену printf-стиля:
>>> strings = [ "one", "two", "three" ]
>>>
>>> for i in xrange(3):
... print "Item %d: %s" % (i, strings[i])
...
Item 0: one
Item 1: two
Item 2: three
И, можно ловко умножить строковые значения:
>>> print "." * 10
..........
В вашем DataGridTemplateColumn
у вас SortMemberPath установлен на "". Если вы установите для этого фактическое свойство элемента (например, CompleteDate), вы сможете выполнить сортировку. Вы также можете установить CanUserSort = "true"
или CanUserSort = "false"
для выбранных столбцов.
SortMemberPath дает свойство для сортировки, когда пользователь пытается выполнить сортировку. Если это не установлено, сетка не знает, как отсортировать этот столбец (он , а не , использует текст в столбце)
<my:DataGridTemplateColumn SortMemberPath="CompleteDate" Header="Complete Date" CanUserSort="true">
<my:DataGridTemplateColumn.CellTemplate >
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<Binding Path="CompleteDate" ConverterCulture="en-GB" StringFormat="{}{0:MM/dd/yyyy}"/>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</my:DataGridTemplateColumn.CellTemplate>
</my:DataGridTemplateColumn>