1

この質問は、私が今日尋ねたこの質問に似ています。name違いは、またはによって参照されるタブ項目を削除したいということheaderです。Removeこの質問で得た回答と同様の方法で電話できますか?

これは私が試したことです:

tabControl.Items.Remove = tabControl.Items //Changes tab according to TreeView
                        .OfType<TabItem>().SingleOrDefault(n => n.Name == stringValue);

このようなものを使用できますか? もしそうなら、どのように?

4

1 に答える 1

1

wpf からの削除についてはよくわかりませんが、このコードは投稿したものよりも機能する可能性が高くなります。Remove はメソッドであり、値を割り当てることはできないため、削除するアイテムを分離し、null でないことを確認してから、オブジェクトをRemoveメソッドに渡す必要があります。

var tabToDelete = tabControl.Items.OfType<TabItem>().SingleOrDefault(n => n.Name == stringValue);
if (tabToDelete != null) // Since you chose to use SingleOrDefault, we have to check to make sure it isn't null before we try to remove it.
tabControl.Items.Remove(tabToDelete);

ただし、WPF - 項目を削除できるかどうかの確認、およびそのコントロールで Remove メソッドを使用できる場合でも詳しく説明しているため、ItemsSource から項目を削除するための最良の方法をご覧になることを強くお勧めします。

于 2013-08-16T17:47:05.213 に答える