【问题标题】:Removing a View in Silverlight在 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);
虽然它似乎不起作用,但如果有人做过类似的事情或有任何意见,那将非常感激。
谢谢,
杰森
【问题讨论】:
标签:
c#
silverlight
xaml
binding
view
【解决方案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);
当然,这些只是可能的,而且可能不是解决您问题的最有效解决方案,但它可能会帮助您考虑如何以更优化的方式解决问题。