본문 바로가기

Study/C#33

[C#] WPF로 Mac 스타일 Topbar 만들기 오랜만에 포스팅이다. 오랜만에 C#으로 S/W만드는 프로젝트에 들어가기도 했고,그래서 이번에는 C# WPF 관련해서 여러 작업들중 UI작업에 치중해서 쓸만한 포스팅을 하려고 한다. 이번 프로젝트는 완전히 내 의향대로 만들면 됐기에 맥 스타일의 UI를 구성해보려고 했다. 이렇게 신호등에 아이콘도 Hover되게 넣엇다 ㅎㅎ이제 구현을 들어가자면 크게 3단계로 나눠진다.메인 윈도우의 topbar를 없애기전체 화면에 가장 위에 Tapbar를 대신할 LayoutControl 만들기LayoutControl내 기능 구현하기메인 윈도우의 Topbar 없애기이건 사실 간단하다. xaml 내에서 Window 태그 안에 아래 옵션을 넣어주면 된다. WindowStyle="None"그러면 이제 이.. Study/C# 2025. 4. 3.
<SQLite.Interop.dll'을(를) 로드할 수 없는경우>를 해결하며 알아보는 .NET과 네이티브 코드(dll)의 통신 절차 C#에서 SQLite를 쓰다보면, 항상 동일하게 써도 해당 오류가 발생 될 때가 있는데, 그럴때마다 아주, 아주 화가난다.. SQLite.Interop.dll'을(를) 로드할 수 없습니다. 지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT: 0x8007007E) 이 에러는 왜 뜨는것이고, 어떻게 해결해야 하는지에 대해서 포스팅 해본다.물론 급한사람들을 위해 가장 먼저 해결방법을 쓴다.. 목차SQLite.Interop.dll 오류 해결방법0. 혹시모르니 Clean과 Rebuild부터 해보자.1. 솔루션내의 dll 확인. 가장 기본적인 절차는 솔루션 내에 불필요하게 임의로 추가한 Interop를 확인하는것이다. (임의로 추가했다면 삭제해주자)기본적으로 Sqlite를 Nuget에서 설치 후 컴파.. Study/C# 2024. 10. 10.
[C#] VisualStudio 2022 ClickOnce를 사용한 소프트웨어 배포방법 MS에서 쓰라고 밀어주는데, 요즘 이거로 많이들 배포하는것 같다. 제일 좋은 강점은 특정 서버에 자동으로 업로드시킨 후 사용자가 소프트웨어를 실행할 때 버전컨트롤을 해준다는 부분이라, 이런 부분에서 강점이 있다.물론 나의 경우, 외부에 위치한 서버를 사용할 수 없는 상황이라 그냥 내부서버에서 배포용으로 만들었다. 프로젝트를 마우스 우클릭하여 게시 버튼을 클릭한다.  배포 옵션3가지의 옵션이 있는데 ,짤막하게 설명하자면1. 웹사이트웹서버를 통해 배포 웹 브라우저를 통해 애플리케이션을 다운로드. 일반적으로 인터넷배포를 사용할때 사용2. UNC경로네트워크 경로를 통해 배포 일반적으로 로컬네트워크 내에서 애플리케이션 배포할때 사용3. CD-ROM 이동식 미디어를 통해 배포. 인터넷등의 환경이 없을때 사용온라인,.. Study/C# 2024. 7. 29.
[C#] C#으로 하는 데이터 크롤링 이전 테스트용 프로그램을 개발할때,  뉴스 사이트에서 특정 파라미터로 뉴스기사를 검색하여 검색된 결과를 표출하는 기능을 구현하려고 했다. 물론 이때는 테스트용이었으므로 자연어처리등의 로직은 필요하지도 않았고, 서버사이드에서 작업할 필요는 없었기에 그냥 C#에서 바로 짜서 사용했다. 물론 MVVM 패턴을 적극적으로 사용한 예제가 될 것이다. 간략하게 요약하면News 데이터를 담을 NewsContents 클래스NewsContents를 가지고 ViewModel을 만들기 위한 NewsContentsViewModel이 ViewModel과 연결된 NewsPopup, NewsContentSelector , 3개의 코드를 작성할 예정이다. 먼저 뉴스정보를 담을 클래스가 필요한데, 나같은 경우 날짜, 제목, previe.. Study/C# 2024. 7. 22.
[C#] 하나의 Window에서 두개의 클래스를 Binding하고 싶을때 가끔씩 하나의 Window에 두개의 Class를 Binding하는게 더 좋을때가 있다. 예를들어 한 창에 물품과 쿠폰을 같이 보여지게하고 그 값이 들어왔을때 가격을 보여주고 싶다고 할때와 같이 말이다.. (물론 이런 경우도 굳이굳이 이렇게 짤필요는없다... 본인은 업무상 해야하는일이 있어서 이렇게 했다..) 아무튼 그런경우 간단한 방법을 사용하면 된다. 새로이 클래스를 하나 만들고. 그 안에 두개의 클래스를 다 담은 후 xaml에서 datacontext로 선언해주면 된다! public class firstClass{ decimal price;}public class secondClass{ decimal discont;}public class doubleBindingClass{ firstClass fc =.. Study/C# 2024. 5. 22.
반응형