0

我正在使用来自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);

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

谢谢,
杰森

4

1 回答 1

0

我不得不说我不使用 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);

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

于 2012-11-25T18:16:43.480 回答