Microsoft MVP성태의 닷넷 이야기
winform => wpf 마이그레이션 방법 질문 [링크 복사], [링크+제목 복사],
조회: 1085
글쓴 사람
GM B (welcometome80 at gmail.com)
홈페이지
첨부 파일

안녕하세요?

과거 주인장님이 올리신 학습내용

https://www.sysnet.pe.kr/2/0/11428

을 보고 문의드립니다.

1. 현재 winform projct를 wpf로 convert하고 싶습니다. (winform + wpf '혼용'은 별로 좋지 못한 상태라서..)

2. 위의 학습내용 가이드라인대로 따라하다 막힙니다.

3. 질문내용

(위의 App.xaml.cs 코드에는 기존 WinForm 프로젝트의 Program.cs 파일에 여러분이 작성한 코드가 있다면 WPF 환경에 맞게 마이그레이션합니다. 완료되면 Program.cs 파일을 삭제합니다.)

program.cs부분에 있는 어느 범주의 class까지 app.xaml.cs로 migration을 해야 하는건지? 그냥 Ctrl+C => Ctrl+V는 아니리라 생각됩니다만 이 부분이 설명이 생략되어 있어서
질문드립니다.

그리고 그 뒤의 (나머지 Form 들도 모두 "Window (WPF)" 유형으로 마이그레이션한 다음 완료)부분도 제가 경험이 좀 없다보니..

제가 MIGRATION작업을 하다 중단된 PROJT를 첨부파일로 보내드립니다.

.cs파일은 총 5개 (Graph.cs, ImageOperations.cs, MeanHip.cs, Program.cs, TestOutput.cs)입니다만 저 혼자 힘으로 convert가 힘드네요. ㅠ.ㅠ

물론 선생님께서는 "이런거 까지 내가 해줘야 해?"라고 하시겠지만 양심껏..저는 이 변환이 제가 작업하고 있는 prj의 전부가 아닙니다.

변환이 되면 제가 작업중인 wpf prj에서 또 본 첨부파일의 변환된 wpf prj code를 또 가져다 붙이고 수정작업을 해야 합니다. 그건 뭐 제가 스스로 할 수 있습니다.

그리고

https://yoursrp.wordpress.com/2012/04/06/www-win2wpf-com-convert-c-net-winform-to-wpf-xaml/

이것을 발견했습니다만 실제 convert tool이 있는건가요?? 아마 구조상으로 매끈하고 완벽하게 convert되는 tool SW는 없지 싶습니다만...

아무쪼록 위의 내용은 조금 제가 이해하기가 낯선...(아무래도 winform계열보다는 wpf경력위주다보니..)

도우심 부탁드립니다.

p.s : 메뉴 왼쪽의 카뱅 계좌는 유효한 계좌 맞나요? 그냥 확인차 질문드립니다.








[최초 등록일: ]
[최종 수정일: 4/10/2025]


비밀번호

댓글 작성자
 



2025-04-10 10시18분
아... 제가 그 글을 괜히 쓴 것 같습니다. 몇몇 분들이 기대를 하시는 듯한데, WinForm 프로젝트의 코드를 WPF로 마이그레이션하는 방법은 없습니다. 제가 그 글을 쓴 이유는, 일례로 "Class Library" 프로젝트로 생성했다가 "Console App" 프로젝트로 변경하는 등의 단순한 수준의 변경을 할 수 있다는 것에서 작성한 것입니다.

즉, 비주얼 스튜디오가 WinForm 프로젝트를 WPF 프로젝트로 인식하도록 만드는 수준의 변형일 뿐, 내부적인 모든 코드는 WPF에 맞게 재작성해야 합니다. (convert tool이란 것은 없습니다.)
정성태
2025-04-10 10시28분
cs 파일의 경우,

* Graph.cs: 이건 그대로 쓰실 수 있고,
* ImageOperations.cs: 이것도 DisplayImage 메서드의 PictureBox 인자를 WPF의 경우 <Image />로 변경하시면 됩니다.
       https://learn.microsoft.com/en-us/dotnet/api/system.windows.media.imaging.bitmapimage?view=windowsdesktop-9.0

* MeanHip.cs: 이것도 그대로 쓰실 수 있고,
* Program.cs: 이건 그냥 새롭게 WPF 프로젝트를 만들면 App.xaml로 대체되므로 버리면 됩니다.
* TestOutput.cs: 이것도 그냥 쓰시면 됩니다.
정성태
2025-04-23 11시13분
늦었지만 답변감사드립니다. 제가 좀 바빠서 이제서야...

도움말씀감사드리며 "New wpf 프로젝트를 만들면~"이라는 말씀은 제가 예정하고 있는 new wpf를 말씀하시는 것 맞는지요?
뭔가 converting을 위한 new wpf가 필수로 해야 된다는 이야기가 아니죠? ^^
우선 처음이라..시도는 해보겠습니다만...제가 작업하고 있는 current wpf에 importing이전에 단순한 wpf convert용으로 쓰고자...
즉, mainwindow.xamls이 없어서요. 그걸 winform상에서 new 생성하고 또 ImageOperations.cs를 지시하신대로 변경하면 되는건지?
mainwindow.xamls에서 뭔가 해야될 제가 모르는 것이 있을 것 같아 질문드렸습니다. ^^
GM B
2025-04-23 02시43분
오히려 그 글을 읽지 않았다고 생각하시는 것이 편합니다. (기억에서 지우세요 ^^;)

우선 하셔야 할 일은, 1) WPF 프로젝트를 만들고 2) 위에서 제가 답변한 내용에 따라 Graph.cs 등의 파일들을 포함 및 PictureBox 등의 사용을 WPF의 컨트롤로 변경하는 작업만 하시면 됩니다. 대충 보니까, 생각보다 그다지 WinForm 의존적인 코드를 넣진 않으셔서 WPF로 어렵지 않게 마이그레이션할 수 있을 것입니다.
정성태

... 76  77  78  79  80  81  [82]  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
431혁이7/19/200612240UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ파일 다운로드1
432정성태7/19/200612607    답변글 [답변]: UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ
433혁이7/20/200613470        답변글 [답변]: [답변]: UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ
434정성태7/20/200614217            답변글 [답변]: [답변]: [답변]: UpdatePanel(Atlas) 위의 SmartClient가 이벤트 후 사라집니다. ㅜㅜ [1]
429kwt7/12/200613510ActiveX 개발을 배우고 싶은데요 [3]
427이홍자7/11/200613797스마트 클라이언트 실행 시 그리드의 체크박스가 안보여요.. [1]
426정보문7/11/200614337액티브X 설치2 [1]
423이방은7/9/200613193리소스 임베디드 질문요.. [1]파일 다운로드1
422guest7/6/200612794COM+에서 풀링을 사용할 경우... [1]파일 다운로드1
424guest7/10/200613659    답변글 소스 코드 입니다. [1]
425guest7/11/200613055        답변글 다시 올립니다.파일 다운로드1
428정성태7/11/200612891            답변글 [답변]: 다시 올립니다.
421정보문7/6/200613453액티브X 설치 [1]
1354허재호11/12/201414086    답변글 [답변]: 액티브X 설치
418임대진7/4/200612669이럴적 있으세요?
419정성태7/4/200612807    답변글 [답변]: 이럴적 있으세요?
417이방은6/29/200612564[질문]2.0에서 웹리소스에 대해서 [2]
416박영일6/29/200612799CAS 설정여부 [1]
415김인학6/28/200613329스마트 클라이언트에서 웹서비스를 호출하고 있습니다. [1]
413김성호6/28/200613005IE프로그램문제... [2]
411이진형6/27/200613197어셈블리 네임 알아내기 [2]
414정성태6/28/200612400    답변글 [답변]: 어셈블리 네임 알아내기
410이재원6/26/200612582자바스크립트 스마트클라이언트 이벤트 호출 [3]
412이재원6/27/200612688    답변글 [답변]: 자바스크립트 스마트클라이언트 이벤트 호출
409정준명6/22/200613652윈폼 기반 스마트클라이언트 속도 문제에 대해서 의견을 구합니다. [2]
406이진형6/21/200613842처음에 스마트클라이언트 로딩하는 속도 [1]
... 76  77  78  79  80  81  [82]  83  84  85  86  87  88  89  90  ...