场景如下,由于我(非常)不熟悉实际处理我的资源,我不完全确定它是否适用于我的示例。这里是为了演示而真正简化的基本场景:
我有一个用户控件MyUserControl
,其中包含一个scrollViewer
. 此外,我有一个MyClass
包含 agrid
和 a的类,tabItem
并且 UI 有 a tabControl
,并且在某些时候,所有内容都将按如下方式连接MainWindow
:
List<MyClass> list = new List<MyClass>();
private void SomeMethod(TabItem tabItem)
{
MyUserControl uc = new MyUserControl();
MyClass mc = new MyClass();
list.Add(mc);
mc.tabItem = tabItem;
tabItem.Content = uc;
uc.scrollViewer.Content = mc.grid;
tabControl.Items.Add(tabItem);
tabControl.SelectedItem = tabItem;
}
现在在某个时候,我想再次删除 tabItem 并且我想释放资源,uc
但我不一定会mc
从list
. 删除tabItem
和tabControl
设置是否足够mc.tabItem = null
?