Я пытаюсь отсортировать ListView по заголовкам.
Я следую этому пример MSDN, с указанием чередования здесь - где это line работает, если бы я использовал прямую привязку:
GridViewColumnHeader headerClicked = e.OriginalSource as GridViewColumnHeader;
string sortString = ((Binding)headerClicked.Column.DisplayMemberBinding).Path.Path
Но проблема в том, что я не привязываю столбцы напрямую с помощью DisplayMemberBinding="{Binding PVNum}"
, а использую CellTemplate:
<ListView.Resources>
<DataTemplate x:Key="NumberTemplate">
<TextBlock Text="{Binding PVNum}" TextAlignment="Center" />
</DataTemplate>
</ListView.Resources>
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridView.Columns>
<GridViewColumn Header=" " CellTemplate="{StaticResource NumberTemplate}"/>
</GridView.Columns>
</GridView>
</ListView.View>
Итак, мой вопрос - как мне получить эту строку «PVNum» в коде?
Я пробовал это, хотя s имеет значение null, поэтому я думаю, что я отключен:
var t = headerClicked.Column.CellTemplate.LoadContent() as TextBlock;
var s = t.GetBindingExpression(TextBox.TextProperty);
Какие-либо предложения?