我有一个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>
。
问:我如何获得到这个隐藏元素的链接来使用它(添加和删除元素)?
发布于 2020-05-01 09:28:20
我不知道FlipPanel是如何工作的,但实际上您并没有将画布添加到它的子类集合中,而是将它放在FlipPanel的“前沿”属性中。如果要删除画布,请尝试以下操作:
flipper.Front = null;
为了在那里加入新元素:
flipper.Front = myNewElement;
https://stackoverflow.com/questions/61538483
复制相似问题