<Viewport3D>。隐藏元素识别

问题描述 投票:0回答:1

我有一个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>,位于面板上。

问题:如何让这个隐藏元素的链接与它一起工作(添加和删除元素)?我怎样才能让这个隐藏元素的链接与它一起工作(添加和删除元素)?

c# wpf parent children viewport3d
1个回答
0
投票

我不知道怎么做 FlipPanel 工作,但实际上你并没有将Canvas添加到它的Children集合中,而是将它放在了 FlipPanel的'Front'属性。如果你想删除画布,可以尝试以下方法。

flipper.Front = null;

为了在那里放一个新元素,

flipper.Front = myNewElement;
© www.soinside.com 2019 - 2024. All rights reserved.