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

... 46  47  48  49  50  51  52  53  54  55  [56]  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
1281(non...7/1/201418768(글쓴이의 요청으로 삭제합니다.) [4]
1280동동이6/25/201417940안녕하세요. ocx의 비동기 또는 쓰레드에서 호출 [1]
1279(non...6/23/201418260(글쓴이의 요청으로 삭제합니다.) [17]
1278이상식6/19/201419370.net DLL 내 자바스크립트를 수정 또는 재정의 할 수 있을까요? [3]
1277김솔지6/18/201416459silverlight에서 datagrid, listbox질문이여 [2]
1276정우석6/16/201415947쿠키 [1]
1274김솔지6/10/201420493배포 페이지 url을 얻고 싶습니다. [8]
1272이훈모6/7/201415541정말 어려운 상황에 직면했습니다. [1]
1270Jong...6/2/201425404C#과 C++을 이용한 Image 처리. [13]
1269김아영5/29/201415986InitializeComponent 함수 호출 지연 현상 [5]
1268솔솔5/27/201415634smart client [1]
1266김솔지5/22/201417851clickonce 수정에 대해 알고싶습니다. [2]
1265이은아5/22/201422232DataGridView 헤더를 두줄이상으로 하고싶습니다. [1]파일 다운로드1
1264김인호5/18/201420371소스코드 및 예제그림 zip 파일 [1]
1263이영종5/15/201417919159페이지 오타인것 같습니다 [5]
1262(non...5/4/201418841(글쓴이의 요청으로 삭제합니다.) [10]
1261이근주5/4/201416587다시 한번 질문드릴께요. [2]
1259이근주5/1/201416000도서 오류인 것 같네요.. [1]
1258최세정4/28/201418674안녕하세요~php module 오류로 고민하다가 여기까지 왔네요..ㅜㅜ [2]
1252popo4/21/201417895바인딩 질문입니다. [2]
1251(non...4/20/201421987(글쓴이의 요청으로 삭제합니다.) [11]
1249홍용규4/17/201422311app.config 파일 관련 질문 있습니다. [2]
1246(non...3/30/201418080(글쓴이의 요청으로 삭제합니다.) [1]
1245POPO3/26/201417367Http 프로토콜 관련 질문 입니다. [1]
1244(non...3/26/201417230(글쓴이의 요청으로 삭제합니다.) [1]
1241(non...3/22/201421103(글쓴이의 요청으로 삭제합니다.) [4]
... 46  47  48  49  50  51  52  53  54  55  [56]  57  58  59  60  ...