gpt4 book ai didi

c# - 如何从 DataTemplate 获取绑定(bind)名称

转载 作者:行者123 更新时间:2023-12-03 10:54:14 25 4
gpt4 key购买 nike

我正在尝试通过它的标题对 ListView 进行排序。

我正在关注 MSDN example , 给定的交替 here - 如果我要使用直接绑定(bind),这条线的工作原理:

GridViewColumnHeader headerClicked = e.OriginalSource as GridViewColumnHeader;
string sortString = ((Binding)headerClicked.Column.DisplayMemberBinding).Path.Path

但问题是我没有直接使用 DisplayMemberBinding="{Binding PVNum}" 绑定(bind)列而是我使用的是 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 是空的 - 所以我想我已经离开了:
 var t = headerClicked.Column.CellTemplate.LoadContent() as TextBlock;
var s = t.GetBindingExpression(TextBox.TextProperty);

有什么建议么?

最佳答案

应该是文本 block .Text 属性:

var t = headerClicked.Column.CellTemplate.LoadContent() as TextBlock;
var s = t.GetBindingExpression(TextBlock.TextProperty);
string sourcePropertyName = s.ParentBinding.Path.Path;

关于c# - 如何从 DataTemplate 获取绑定(bind)名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46917145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com