如何去除UWP中动态添加的网格元素

如何去除UWP中动态添加的网格元素,uwp,Uwp,我的UWP应用程序中有一个页面,用户可以从组合框中选择产品 共有4种可选产品,但其中2种会触发事件。如果用户选择“Pizza”或“三明治”,将通过以下代码向显示中添加一个新的网格元素,其中包含浇头: Grid toppingGrid = new Grid(); toppingGrid.Name = "toppingGrid"; toppingGrid.Width = 1000; toppingGrid.Marg

我的UWP应用程序中有一个页面,用户可以从组合框中选择产品

共有4种可选产品,但其中2种会触发事件。如果用户选择“Pizza”或“三明治”,将通过以下代码向显示中添加一个新的网格元素,其中包含浇头:

        Grid toppingGrid = new Grid();
        toppingGrid.Name = "toppingGrid";
        toppingGrid.Width = 1000;
        toppingGrid.Margin = new Thickness(0, 500, 0, 0);
        toppingGrid.HorizontalAlignment = HorizontalAlignment.Center;

中间还有一些其他的代码,把顶端添加到这个顶端的网格中,最后我把顶端的网格添加到我的页面上的主网格:

this.detailsGrid.Children.Add(toppingGrid);
现在,当用户决定从比萨饼改为其他产品时,我必须从显示中删除这个新创建的顶部网格元素。我在“产品类型”组合框上有一个事件侦听器,每次更改产品时都会触发它,但我不确定如何删除顶部网格。我尝试了以下方法,但似乎不起作用:

if (this.detailsGrid.Children.Count > 6)
            this.detailsGrid.Children.RemoveAt(7);

您可以使用
可见性
属性

如果顶部网格的子项是
文本块
,只需控制它的
可见性

希望它能帮助你


是的,这几乎肯定不是你想要做的。了解如何使用内容控件、数据模板和转换器。将转换器绑定到选定的图元模型,并使转换器轴位于该类型上。它将显示您想要的数据模板。这就是我最后要做的。因为我需要一个DIY项目的快速解决方案,所以这个解决方案就足够了,而不是找出如何隐藏编程实现的元素。