1

我有一个 GridView 显示其中的某些项目。每个项目都有一个编辑按钮,按下编辑按钮会在项目旁边加载一个用户控件。这个用户控件有一个关闭按钮,按下关闭按钮会删除用户控件。带有项目的 GridView(蓝色矩形)

单击项目(蓝色矩形)上的编辑按钮并在其旁边加载用户控件(红色矩形)后的 GridView

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

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

在添加断点然后检查时,我发现 this.Parent 为空。我被卡住了。我该如何进行?我正在使用 c#、xaml、winrt、visual studio 2012

4

1 回答 1

0

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

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

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

于 2013-06-25T02:04:44.237 回答