FrameworkElement를 초기화하는 방법은 무엇입니까?

Portikus

FrameworkElement에서 파생되고 제어되지 않는 클래스가 있습니다. 이 클래스는 OnInitialize 메서드에 이벤트 핸들러를 등록 합니다.

FrameworkElement가 OnInitialize에 대응하는 것을 제공하지 않기 때문에이 클래스를 적절하게 정리하는 패턴은 무엇입니까?

누수를 일으키는 EventHandler를 제거하는 부분이 없기 때문에 루팅 된 상태로 유지됩니다.

파나지오티스 카나 보스

There's no such thing as "deinitializing". Initialization methods are used when it isn't possible to fully initialize an object in its constructor, because it depends on data that isn't available during construction. In these cases construction is broken in two phases: the first step is executed in a parameterless constructor, the second in an initialization method, like OnInitialize, after the external data becomes available

What you describe is object disposal, which is performed by calling an object's Dispose method. A well-written class should clean up its data, release any external resources and release any event handlers.

Visual elements typically have another step in their lifecycle, handled by the OnLoad/OnUnload methods. The Load step occurs when an element is actually placed in XAML view and connected to the other UI elements. Event handlers should be registered in the OnLoad method and removed in the OnUnload method.

If the element has no Dispose method , you may be able to raise the Unload event to force the cleanup, although this is a bit of a hack:

control.RaiseEvent(new RoutedEventArgs(FrameworkElement.UloadedEvent))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

FrameworkElement를 초기화하는 방법은 무엇입니까?

분류에서Dev

LinkedList를 초기화하는 방법은 무엇입니까?

분류에서Dev

Crashlytics를 초기화하는 방법은 무엇입니까?

분류에서Dev

초기화 스크립트를 기록하는 방법은 무엇입니까?

분류에서Dev

FTP를 통해 git repo를 초기화하는 방법은 무엇입니까?

분류에서Dev

인터페이스를 초기화하는 방법은 무엇입니까?

분류에서Dev

커서를 올바르게 초기화하는 방법은 무엇입니까?

분류에서Dev

lateinit 변수를 초기화하는 방법은 무엇입니까?

분류에서Dev

Spring Cloud Stream StreamListener 초기화를 지연하는 방법은 무엇입니까?

분류에서Dev

websocket enpoint를 Azure Webjob으로 초기화하는 방법은 무엇입니까?

분류에서Dev

빈 구조체를 초기화하는 방법은 무엇입니까?

분류에서Dev

생성자 전에 BufferedImage를 초기화하는 방법은 무엇입니까?

분류에서Dev

QList를 초기화하는 올바른 방법은 무엇입니까?

분류에서Dev

Java에서 타이머를 초기화하는 방법은 무엇입니까?

분류에서Dev

상수 초기화를 처리하는 방법은 무엇입니까?

분류에서Dev

UISplitViewController 내부에서 UITableViewController를 초기화하는 방법은 무엇입니까?

분류에서Dev

이 초기화를 수행하는 방법은 무엇입니까?

분류에서Dev

지도를 올바르게 초기화하는 방법은 무엇입니까?

분류에서Dev

boost :: process :: child (boost process 0.5)를 초기화하는 방법은 무엇입니까?

분류에서Dev

컴퓨터를 초기화하는 방법은 무엇입니까?

분류에서Dev

ApplicationListener에서 autowire 객체를 초기화하는 방법은 무엇입니까?

분류에서Dev

Google지도 API를 다시 초기화하는 방법은 무엇입니까?

분류에서Dev

C ++ Visual Studio VSPackage를 초기화하는 방법은 무엇입니까?

분류에서Dev

빈 목록 초기화를 금지하는 방법은 무엇입니까?

분류에서Dev

Meteor : Meteor에서 noUiSlider를 초기화하는 방법은 무엇입니까?

분류에서Dev

세마포를 한 번만 초기화하는 방법은 무엇입니까?

분류에서Dev

초기화 목록을 사용하여 std :: variant를 초기화하는 방법은 무엇입니까?

분류에서Dev

Aloha-Editor가 Rangy를 초기화 한 후 모듈 TextRange를 초기화하는 방법은 무엇입니까?

분류에서Dev

변수를 사용하여 기본값으로 MutableList를 초기화하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    FrameworkElement를 초기화하는 방법은 무엇입니까?

  2. 2

    LinkedList를 초기화하는 방법은 무엇입니까?

  3. 3

    Crashlytics를 초기화하는 방법은 무엇입니까?

  4. 4

    초기화 스크립트를 기록하는 방법은 무엇입니까?

  5. 5

    FTP를 통해 git repo를 초기화하는 방법은 무엇입니까?

  6. 6

    인터페이스를 초기화하는 방법은 무엇입니까?

  7. 7

    커서를 올바르게 초기화하는 방법은 무엇입니까?

  8. 8

    lateinit 변수를 초기화하는 방법은 무엇입니까?

  9. 9

    Spring Cloud Stream StreamListener 초기화를 지연하는 방법은 무엇입니까?

  10. 10

    websocket enpoint를 Azure Webjob으로 초기화하는 방법은 무엇입니까?

  11. 11

    빈 구조체를 초기화하는 방법은 무엇입니까?

  12. 12

    생성자 전에 BufferedImage를 초기화하는 방법은 무엇입니까?

  13. 13

    QList를 초기화하는 올바른 방법은 무엇입니까?

  14. 14

    Java에서 타이머를 초기화하는 방법은 무엇입니까?

  15. 15

    상수 초기화를 처리하는 방법은 무엇입니까?

  16. 16

    UISplitViewController 내부에서 UITableViewController를 초기화하는 방법은 무엇입니까?

  17. 17

    이 초기화를 수행하는 방법은 무엇입니까?

  18. 18

    지도를 올바르게 초기화하는 방법은 무엇입니까?

  19. 19

    boost :: process :: child (boost process 0.5)를 초기화하는 방법은 무엇입니까?

  20. 20

    컴퓨터를 초기화하는 방법은 무엇입니까?

  21. 21

    ApplicationListener에서 autowire 객체를 초기화하는 방법은 무엇입니까?

  22. 22

    Google지도 API를 다시 초기화하는 방법은 무엇입니까?

  23. 23

    C ++ Visual Studio VSPackage를 초기화하는 방법은 무엇입니까?

  24. 24

    빈 목록 초기화를 금지하는 방법은 무엇입니까?

  25. 25

    Meteor : Meteor에서 noUiSlider를 초기화하는 방법은 무엇입니까?

  26. 26

    세마포를 한 번만 초기화하는 방법은 무엇입니까?

  27. 27

    초기화 목록을 사용하여 std :: variant를 초기화하는 방법은 무엇입니까?

  28. 28

    Aloha-Editor가 Rangy를 초기화 한 후 모듈 TextRange를 초기화하는 방법은 무엇입니까?

  29. 29

    변수를 사용하여 기본값으로 MutableList를 초기화하는 방법은 무엇입니까?

뜨겁다태그

보관