这是代码:
<GridViewColumn DisplayMemberBinding="{Binding Path=BookId}" Width="100">
<GridViewColumn.Header>
<Border BorderBrush="Black">
<TextBlock Width="{Binding RelativeSource=
{RelativeSource FindAncestor,
AncestorType={x:Type GridViewColumn}},
Path=Width}" Text="ID">
<TextBlock.ContextMenu>
<ContextMenu>item1</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</Border>
</GridViewColumn.Header>
</GridViewColumn>
基本上我要做的是使标题中的 TextBlock 遵循整个列的宽度。
它不起作用:文本 block 的宽度始终与里面的文本匹配。有任何想法吗?...
提前致谢!
最佳答案
你的代码有两个问题
所以你的代码变成:
<GridViewColumn
DisplayMemberBinding="{Binding Path=BookId}"
Width="100">
<GridViewColumn.Header>
<Border BorderBrush="Black" >
<TextBlock Text="ID" Width="{Binding RelativeSource=
{RelativeSource FindAncestor,
AncestorType={x:Type GridViewColumnHeader}},
Path=ActualWidth}">
<TextBlock.ContextMenu>
<ContextMenu>item1</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</Border>
</GridViewColumn.Header>
</GridViewColumn>
关于wpf - RelativeSource FindAncestor 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1322729/