1
例子:獲取GridViewColumn從控制裏面的DataTemplate
<ListView Name="lvAnyList" ItemsSource="{Binding}">
<ListView.View>
<GridView>
<GridViewColumn Header="xx" DisplayMemberBinding="{Binding XX}" CellTemplate="{DynamicResource MyDataTemplate}"/>
<GridViewColumn Header="yy">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding YY}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
如果我訪問TextBlock
內DataTemplate
我將有機會獲得有關約束的路徑信息。 但我不知道如何查找(從TextBlock
開始)其包含GridViewColumn
(位於GridViewRowPresenter
列列表中),並將其與GridViewColumn
(從GridViewHeaderRowPresenter
列列表中)的網格進行比較以獲取標頭的名稱。
最後我應該有對:XX-> XX,YY-> YY
我能找到裏面ListView
所有TextBlocks
列表使用此:
GridViewRowPresenter gvrp = ControlAux.GetVisualDescendants<GridViewRowPresenter>(element).FirstOrDefault();
IEnumerable<TextBlock> entb = GetVisualDescendants<TextBlock>(gvrp);
我能找到所有GridViewColumnHeaders
的列表:
GridViewHeaderRowPresenter gvhrp = ControlAux.GetVisualDescendants<GridViewHeaderRowPresenter>(element).FirstOrDefault();
而且我找不到TextBlocks
和GridViewColumns
之間的連接...
我希望這是可以理解的。
因此,DataTemplate中的TextBlock與標題名稱之間沒有其他連接? – ragi
我至少不知道任何。 –