为什么VisualTreeHelper.GetDescendantBounds(SomeVisualItem)
方法返回(-Infinity,-Infinity,Infinity,Infinity)
?
显式分配SomeVisualItem的Canvas.Left
,Canvas.Top
,Width
,....
答案 0 :(得分:2)
我解决了。 我只是从控件的ControlTemplate中的ViewBox中删除了效果:
<Viewbox Opacity=".7" Stretch="Uniform" IsHitTestVisible="False" FocusVisualStyle="{x:Null}" IsEnabled="False" ForceCursor="False" x:Name="PART_OutThumb">
<Viewbox.Effect>
<BlurEffect KernelType="Gaussian" Radius="1" />
</Viewbox.Effect>
</Viewbox>
要:
<Viewbox Opacity=".7" Stretch="Uniform" IsHitTestVisible="False" FocusVisualStyle="{x:Null}" IsEnabled="False" ForceCursor="False" x:Name="PART_OutThumb">
</Viewbox>
现在VisualTreeHelper.GetDescendantBounds()
效果很好!