在调整大小时,WPF,GridViewColumnHeader的Thumb光标在自定义控件中没有更改?

时间:2010-09-24 22:48:40

标签: wpf custom-controls

简单派生自GridViewColumnHeader,没有样式,

class SampleHeader:GridViewColumnHeader {}

并使用它:

<StackPanel Orientation="Horizontal">
  <SampleHeader Content="Col1" />
  <SampleHeader Content="Col2" />
</StackPanel>

非常简单,但在运行时,拇指光标不会更改为调整光标大小。

我尝试使用标准的,它可以正常工作,现在我必须运行一次虚拟,以便在SampleHeader中激活正确的调整大小光标。

这是一个错误还是其他?

1 个答案:

答案 0 :(得分:2)

是的,它似乎是一个错误。 GridViewColumnHeader的private GetCursor(int)方法中有一个代码,通过执行以下操作来检索SplitCursor:

Assembly assembly = base.GetType().Assembly;
...
cursorStream = assembly.GetManifestResourceStream("split.cur");

这应该从PresentationFramework.dll程序集(包含GridViewColumnHeader类)中获取分割光标。

当你从它派生时,对“base.GetType()。Assembly”的调用将返回包含派生类的Assembly,因此不会找到split光标。因此,当您将鼠标悬停在拇指上时,光标不会改变。然而,(看不见的)分裂者仍然可以拖延。