“VisualTreeHelper.GetDescendantBounds()”返回Infinity

时间:2012-03-05 12:33:14

标签: .net wpf visualtreehelper

为什么VisualTreeHelper.GetDescendantBounds(SomeVisualItem)方法返回(-Infinity,-Infinity,Infinity,Infinity)

显式分配SomeVisualItem的Canvas.LeftCanvas.TopWidth,....

1 个答案:

答案 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()效果很好!