Microsoft MVP성태의 닷넷 이야기
winform => wpf 마이그레이션 방법 질문 [링크 복사], [링크+제목 복사],
조회: 1006
글쓴 사람
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)
321셈토2/18/200610834SPOOL --> EMF --> TEXTOUT [1]
320정보문2/18/200610619파일의 최대 크기2 [1]
318정보문2/18/200611765파일의 최대 크기
319정성태2/18/200611787    답변글 [답변]: 파일의 최대 크기 [1]
317narc...2/17/200610912[IE embeded SmartClient]에서 닷넷 리모팅 프록시 사용시 처음 2분간 딜레이현상이 발생합니다. [1]
322narc...2/20/200611726    답변글 [답변]: 다시한번 부탁드리겠습니다..
316이경찬2/15/200613139MSDN 매거진 정기구독 신청은 어디서 할수있나요? [1]
315정준명2/15/200616579[DxFramework Lite] 분산 트랜잭션에 참여하는 동안 오류가 발생했습니다. [2]
314이윤희2/14/200610788엑셀변환시....그림을 넣을려면. [1]
313장강현2/14/200610950SmartClient 디버그 문제 [1]
312정보문2/13/200611045방법2006 [1]
309정보문2/10/200612160edit & continue [3]
308김용국2/11/200610643스마트클라이언트 관련질문 [ Client 에서 WebPage의 JavaScript 호출방법이 있을까요? 있다고는 한것 같은데..부탁드림^^
310정성태2/11/200610144    답변글 [답변]: 스마트클라이언트 관련질문 [ Client 에서 WebPage의 JavaScript 호출방법이 있을까요? 있다고는 한것 같은데..부탁드림^^
307narc...2/10/200611867IE Embeded 스마트클라이언트는 UserControl만 가능한가요? [2]
305정보문2/10/200612001웹 컨트롤
306정성태2/10/200611662    답변글 [답변]: 웹 컨트롤
303정보문2/10/200612554회원가입성공을 기념으로 질문 한 가지 던집니다.
304정성태2/10/200610948    답변글 [답변]: 회원가입성공을 기념으로 질문 한 가지 던집니다.
302김성2/7/200612117C#이나 VB.NET 으로 만든 것을 SETUP 해서 배포하려고 하는데요.. [1]
301참깨2/3/200616355개체가 이 속성 또는 메소드를 지원하지 않습니다. [1]
300김종욱2/2/200610747안녕하세요 [2]
299꼬부기1/19/200610009스마트클라이언트 관련 질문입니다... [2]
298정말초짜1/12/200610244smart client 질문입니다. [1]
296우승우1/4/20069898스마트클라이언트에서 COM+를 이용한 데이터 가져 오기..
297정성태1/4/200611846    답변글 [답변]: 스마트클라이언트에서 COM+를 이용한 데이터 가져 오기.. [2]
... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...