코드 아래에 제시된 방법보다 WPF에서 새로운 창을 열어 더 효율적인 방법이 있는지 궁금 해서요에게 개방하는 적절한 방법 : windowConfigureDatabase 내가 원하는 새 창입니다새 WPF 창
WindowConfigureDatabase windowConfigureDatabse;
private void ButtonConfigureDatabase_Click(object sender, RibbonControlEventArgs e)
{
if (windowConfigureDatabase == null)
{
windowConfigureDatabase = new WindowConfigureDatabase();
}
windowConfigureDatabase.Clear();
windowConfigureDatabase.Show();
windowConfigureDatabase.WindowState = WindowState.Normal;
}
열기 위해. windowConfigureDatabase.Clear(); 모든 값을 기본값으로 재설정합니다. 재설정 할 값이 많지 않습니다. 이것이 wpf에서 새 창을 여는 올바른 방법인지 궁금합니다. 내가 생각하고 있던 다른 길은 각 버튼을 클릭 할 때마다 새 창을 만드는 것뿐이었습니다. (매번 값을 지울 필요는 없습니다 ...)하지만 사용자가 열면 너무 많은 메모리를 할당하는 것이 두려워요. 가비지 컬렉터가 OnClose 이벤트에서 윈도우를 선택하는지 잘 모르겠다.
기본적으로 내 질문은 - 가비지 수집기가 닫히거나 닫힌 이벤트 중에 닫은 후에 내 창을 선택합니까? 그렇지 않다면 창 메모리를 수동으로 관리하는 올바른 방법은 무엇입니까?
windowConfigureDatabase = null의 청산에
/OnClosing 이벤트가 잘 할 추가 하시겠습니까?
이 내가 거짓 DialogResult를 = 제외하고, 지금 내 코드에서 무엇을 정말 가깝습니다. 기본 yes-> exit 버튼 인 버튼이있는 경우에만 필요하다고 가정합니다. –
이 경우 DialogResult를 false로 설정하는 것은 정상입니다. 취소/숨기기를 취소 효과가 필요로하지 않는 한 필요하지 않습니다. –
괜찮습니다. 그래서 이걸로 고집하고 있지만 지금은 그들 각각에 대해 별도의 기능을 수행하는 것보다 창을 닫은 후에 값을 다시 기본값으로 설정하는 더 좋은 방법을 찾아야합니다 ... –