【问题标题】:Removing a usercontrol by clicking a button on it通过单击用户控件上的按钮来删除用户控件
【发布时间】:2013-04-25 09:52:45
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-23
      • 2018-10-31
      相关资源
      最近更新 更多