通过单击其上的按钮来删除用户控件

时间:2013-04-25 09:52:45

标签: c# xaml user-controls winrt-xaml

我有一个GridView,显示其中的某些项目。每个项目都有一个编辑按钮,按下编辑按钮加载项目旁边的用户控件。此用户控件有一个关闭按钮,按下关闭按钮删除用户控件。 GridView with the items(blue color rectangles)

GridView after the edit button on the item(blue color rectangles) is clicked and usercontrol(red color rectangle) is loaded next to it

蓝色矩形代表gridview中的项目。单击粉红色添加按钮时,红色用户控件将加载。现在单击红色矩形上的关闭按钮,它应该删除红色项目并恢复到原始状态。 我已经使用模板选择器添加了usercontrol,它工作正常。但关闭按钮不会删除它。我尝试了以下方法来删除:

(GridView)this.Parent).Items.Remove(this);

在添加断点然后检查我发现this.Parent为null。我被困了。我怎么办?我正在使用c#,xaml,winrt,visual studio 2012

1 个答案:

答案 0 :(得分:0)

如果您需要处理可视树,请尝试以下操作:

var _Parent = VisualTreeHelper.GetParent(sender as UserControl) as GridView;
_Parent.Items.Remove(sender as UserControl);

但是,从GridView中删除项目应该通过操纵绑定到ViewModel中GridView的ItemsSource的ObservableCollection来完成。不是这样,可能......