0

我有一个 XAML 布局:

<f:FlipPanel x:Name="flipper" Height="90" Width="90">
    <f:FlipPanel.Front>
        <Canvas x:Name="Empty_Frame" Visibility="Visible">
            <Path Stroke="#FFBCC2AB" StrokeThickness="2">
                <Path.Data>
                    <GeometryGroup FillRule="EvenOdd">

                    ... <!-- There are a lot of geometric elements -->

        </Canvas>
    </f:FlipPanel.Front>
    <f:FlipPanel.Back>

    ... <!-- There are a lot of geometric elements -->

    </f:FlipPanel.Back>
    </f:FlipPanel>

FlipPanel 是一个复杂的组件,取自第三方库。在执行期间,我需要<Canvas>用另一组元素替换 。“搜索删除”代码不起作用:

var ecanvas = flipper.Children.OfType<Canvas>().FirstOrDefault(x => x.Name == "Empty_Frame");
flipper.Children.Remove(ecanvas);

原因在于隐藏的中间元素<Viewport3D>,它位于面板上。

问题:如何获得指向此隐藏元素的链接以使用它(添加和删除元素)?

4

1 回答 1

0

我不知道FlipPanel是如何工作的,但实际上你并没有将 Canvas 添加到它的 Children 集合中,而是将它放到FlipPanel的“Front”属性中。如果要删除画布,请尝试以下操作:

flipper.Front = null;

为了在那里放置一个新元素:

flipper.Front = myNewElement;
于 2020-05-01T09:28:20.227 回答