Microsoft MVP성태의 닷넷 이야기
winform => wpf 마이그레이션 방법 질문 [링크 복사], [링크+제목 복사],
조회: 939
글쓴 사람
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로 어렵지 않게 마이그레이션할 수 있을 것입니다.
정성태

... [31]  32  33  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
5132존기미3/3/201914562Physical Disk Access문의 [1]
5131강용규2/25/201913837c# 개발자입니다. 타이머 질문드립니다. [1]
5130노인코래방2/25/201918023C#에서 가장 좋은 성능을 보이는 파일 읽고 쓰는 방법이 무엇인가요? [2]
5129진우2/23/201917769닷넷 32비트 기반에서 메모리 부족으로 프로그램이 죽는경우 문의 [2]
5128게스트2/23/201914971안녕하세요. 초보개발자입니다. [3]파일 다운로드1
5127c#2/20/201913942책에 예제 문의드립니다. [2]
5125게스트2/19/201913751delegate를 활용한 event 를 적절히 불러오고 싶습니다. [2]
5124정근화2/12/201913779윈도우 서버2003 환경 오류 [2]
5123김주현2/8/201913606MS LUIS 에 대한 소개 하실 계획이 있으신가요? [1]
5122jaka...2/1/201915686Clickonce 배포 후 Command 실행 [2]파일 다운로드1
5121엔벌이1/31/201915316C# DataGridView의 MDB파일 함수? ArrayList? [1]파일 다운로드1
5120임우진1/30/201916505웹에서 응용프로그램 바로 실행하기 관련 브라우저에서 파라미터가 넘어오지 않습니다.ㅜㅜ [2]
5119guest1/29/201918068교재에 오탈자 있어 알려드리려 합니다 [1]
5118WPF꿈...1/26/201916018GetHashCode 메서드에 대해서 [1]
5117하주형1/25/201915741List<int>에 대한 이해가 잘안됩니다. [5]
5116게스트1/24/201914343asp.net 관련 gridview webform 질문 드립니다. [1]파일 다운로드1
5115Soul...1/24/201914541투명 패널 질문드립니다. [2]
5114박현일1/20/201915147WPF DataContext 관련 초보 질문을 드려봅니다.^^ [5]
5113하주형1/20/201914375안녕하세요 시작하세요 C# 인코딩관련 질문드립니다. [1]
5112손성배1/19/201923670안녕하세요 cp949 인스톨시 오류입니다... 너무 힘들어요 [5]
5111게스트1/10/201914837암호화 라이센스 관련 문의 드립니다. [1]
5110WPF꿈...1/9/201914328Thread Abort 함수 사용시 [2]
5109닷넷개발1/9/201914153thread 관련 질문 예제.. [2]파일 다운로드1
5108닷넷개발1/9/201915367thread 관련 질문 드립니다.. [4]
5107우코아1/4/201918108WPF에서 로딩중 이미지를 구현 - Project [5]파일 다운로드1
5106우코아1/3/201915766WPF에서 로딩중 이미지를 구현 - Source [1]
... [31]  32  33  34  35  36  37  38  39  40  41  42  43  44  45  ...