在 Silverlight 中删除视图

Posted

技术标签:

【中文标题】在 Silverlight 中删除视图【英文标题】:Removing a View in Silverlight 【发布时间】:2012-11-21 20:11:45 【问题描述】:

我正在使用来自http://www.divelements.co.uk/net/controls/sandribbonsl/ 的 SandRibbons,并且我正在尝试向我的上下文选项卡添加一个视图,我已经通过使用成功地做到了这一点,

ribbon3.Items.Add(Activator.CreateInstance(viewModel.filterValue));

虽然这是问题所在,但如何删除视图?我试过了,

ribbon3.Items.Remove(Activator.CreateInstance(viewModel.filterValue));

ribbon3.Items.Remove(viewModel.filterValue);

虽然它似乎不起作用,但如果有人做过类似的事情或有任何意见,那将非常感激。

谢谢, 杰森

【问题讨论】:

【参考方案1】:

我不得不说我不使用 Sandribbons...但据我所知,您在建议的任何删除语句中都没有引用实际视图。可能的解决方案是在添加视图后保存视图的位置:

ribbon3.Items.Add(Activator.CreateInstance(viewModel.filterValue));
var posView = ribbon3.Items.Count - 1; // do it right after you added the view
// some stuff
ribbon3.Items.RemoveAt(posView); // note that it's the RemoveAt method

或者在添加视图之前保存视图本身并作为参考:

var theView = Activator.CreateInstance(viewModel.filterValue);
ribbon3.Items.Add(theView);
// some stuff
ribbon3.Items.Remove(theView);

当然,这些只是可能的,而且可能不是解决您问题的最有效解决方案,但它可能会帮助您考虑如何以更优化的方式解决问题。

【讨论】:

以上是关于在 Silverlight 中删除视图的主要内容,如果未能解决你的问题,请参考以下文章

在 Asp.Net 解决方案中集成 silverlight 控件的最佳实践

Silverlight 图像编辑器控件 [关闭]

以编程方式为 Silverlight 显示选择图像转换格式为 JPEG 或 PNG

Silverlight & Blend动画设计系列十:Silverlight中的坐标系统(Coordinate System)与向量(Vector)运动

我应该在 Silverlight 项目中使用模型-视图-视图模型 (MVVM) 模式吗?

如何使用 WCF 调用从客户端 windows phone 8.0 silverlight 返回对象的方法