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

私はサンドリボンを使用していないと言わざるを得ません...しかし、私が見ることができることから、あなたが提案したどのremoveステートメントでも実際のビューを参照していません。考えられる解決策は、ビューを追加した後にビューの位置を保存することです。

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 に答える