문제

그래서 저는 주로 창이 없는 애플리케이션인 애플리케이션을 작성할 계획입니다.사용자 상호 작용을 위한 창이 있지만 사용자의 요청이 있을 때만 가능합니다.그렇지 않으면 응용 프로그램이 시스템 트레이에 앉아서 타이머를 실행하여 매분마다 일부 논리를 실행합니다.내 질문은 이것입니다:내가 알 수 있는 한 모든 관련 로직을 App.xaml.cs에 넣을 것입니다(타이머 시작, 각 간격마다 로직 실행). 그러나 어떤 이유로 이것이 잘못된 것 같습니다.

앱에는 사용자가 상호 작용하여 세부 정보를 확인하고 설정을 조정하는 등의 작업을 수행할 수 있는 시스템 트레이 아이콘이 있지만 그렇지 않은 경우에는 앱이 그냥 그대로 앉아서 제 역할을 수행합니다.App.xaml 클래스의 코드 숨김에 모든 코드를 넣는 것이 적절합니까?왜인지는 모르겠지만 그러면 안되는 것 같고, 다른 곳이 있어야 할 것 같은데, 딱히 생각이 나지 않습니다.

나는 이전에 이런 앱을 작성한 적이 없기 때문에 무지합니다.어떤 조언이라도 대단히 감사하겠습니다.감사해요.

제임스

도움이 되었습니까?

해결책

대부분의 상호 작용이 Windows를 통해 수행되는 응용 프로그램에서도 일반적으로 모든 코드를 코드에 배치하는 것이 좋지 않습니다. 상호 작용은 종종 코드 뒤에서 이벤트 핸들러를 시작하지만 코드를 직접 만들 수있는 클래스에 코드를 넣을 수 있습니다.

대부분의 경우 사용자 인터페이스를 표시하지 않는 응용 프로그램도 마찬가지입니다. 대부분의 작업은 app.xaml.cs에서 시작되지만 모든 코드가 그곳에 살아야한다는 의미는 아닙니다. 예를 들어 다른 코드를 시작할 수있는 자체 클래스에서 타이머를 캡슐화 할 수 있습니다. 코드를 책임 줄을 따라 나누고, 창 클래스는 UI를 수행하고 도메인 로직은 다른 파일 등으로 들어갑니다.

다른 팁

코드가 거기에 속하는 것 같지 않으며 기껏해야 타이머를 시작하는 호출일 뿐입니다.귀하의 문제에 완벽하게 들어맞는 것은 무엇입니까? MV-VM (모델 - 뷰 - ViewModel) 패턴입니다.언급했듯이 코드 뒤에 논리를 추가하는 것보다 더 '느낌'이 좋습니다.MVVM을 사용하면 희소 UI를 뷰로 분리할 수 있으며 코드는 Model과 ViewModel에 별도로 존재할 수 있습니다.

나는 다음을 사용하는 것이 좋습니다 툴킷은 여기, 여기에는 좋은 개요 문서와 자신만의 솔루션을 만들 때 소화할 수 있는 샘플도 포함되어 있습니다. 로랑 부뉴옹 또한 시작하는 데 사용할 수 있는 MVVM 시작 도구 키트도 출시했습니다.

또한, 여기 시스템 트레이에서 실제로 컨트롤을 설정하는 데 도움이 되는 좋은 내용입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top