닷넷/WPF
-
WPF DevExpress LayoutPanel의 header에 custom button 놓기닷넷/WPF 2024. 4. 22. 15:58
DevExpress LayoutPanel의 header에 custom button 놓기 참고 자료 https://supportcenter.devexpress.com/ticket/details/t919567/add-new-buttons-to-layoutpanel-header-that-has-look-and-feel-of-pin-and-close-buttons https://docs.devexpress.com/WPF/DevExpress.Xpf.Docking.LayoutPanel https://docs.devexpress.com/WPF/DevExpress.Xpf.Docking.LayoutPanel._members https://docs.devexpress.com/WPF/DevExpress.Xpf.Docking..
-
C# WPF, WinForm DevExpress GridControl 붙여넣기 기능닷넷/WPF 2024. 4. 22. 15:49
devexpress GridControl에 복사한 것 붙여넣기 Clipboard 관련 1. WinForm https://docs.devexpress.com/WindowsForms/DevExpress.XtraGrid.Views.Grid.GridView.ClipboardRowPasting 2. WPF 1) 클립보드 데이터를 그리드컨트롤 칼럼과 로우에 맞춰서 데이터 들어가는 형식으로 전달 받아 사용 할 수 있음, 붙여넣기 아예 취소 가능 https://docs.devexpress.com/WPF/DevExpress.Xpf.Grid.TableView.ClipboardRowPasting 2) 붙여넣기 완료 후 데이터별 처리할 때 https://docs.devexpress.com/WPF/DevExpress.Xpf.G..
-
WPF Binding Path에 관하여 (바인딩 경로)닷넷/WPF 2024. 4. 8. 22:02
2023.04.07 - [닷넷/WPF] - C# WPF에서 Binding(바인딩)이란? C# WPF에서 Binding(바인딩)이란? WPF에서는 MVVM 패턴을 지키는 게 중요합니다. 개인적으로 생각하기에는 이 MVVM 패턴대로 만들지 않을 것이라면 개발 속도로 봤을 때나 유지보수 적으로 봤을 때나 그냥 윈폼(WinForms)으로 만드는게 jasmintime.com 이전글을 통해서 WPF에서 데이터 바인딩은 UI 요소와 데이터 소스 간의 연결을 쉽게 설정할 수 있는 기능임을 알 수 있습니다. 이 바인딩을 잘 쓰기 위해서는 바인딩 구문을 아는 것이 중요합니다. 그 중에서 바인딩 경로는 몇 가지 유형이 있으며, 경로 지정을 어떻게 하느냐에 따라서 자기 자신의 뷰모델이 아닌 부모 요소 혹은 그 외 기타와 연결..
-
C# WPF DataGrid에 Row번호 출력 되는 칼럼 추가하기 (닷넷프레임워크 .net framework 4.0 기준)닷넷/WPF 2023. 8. 10. 14:58
닷넷5.0 이상 기준으로는 https://kaki104.tistory.com/808 DataGrid에 Row번호를 출력하기 별도의 3rd party 컨트롤을 사용하지 않는 경우 DataGrid를 많이 사용하는데, RowNumber를 출력하는 방법을 찾아보니 MVVM pattern에서 사용하기 쉬운 방법에 대해서 설명되어 있는 것이 없는 것 같아서 간 kaki104.tistory.com 이 글을 참고 하면 되지만, 닷넷프레임워크 4.0에서는 Microsoft.Xaml.Behaviors.Wpf 1.1.39를 설치할 수 없기 때문에 다음의 두 가지 방법이 있습니다. 비하인드 코드에서 /// /// ListDetail.xaml에 대한 상호 작용 논리 /// private void Loaded(object sen..
-
WPF Converter (컨버터, 값 변환기)닷넷/WPF 2023. 6. 9. 15:06
Converter WPF에서 Converter는 WPF의 핵심 기능 중 하나인 데이터 바인딩에서 데이터를 바인딩하는 동안 값의 변환을 수행하는 데 사용되는 기능입니다. Converter를 사용하면 데이터를 원하는 형식으로 변환하거나, 값을 가공하여 UI 요소에 표시할 수 있습니다. 예를 들어, bool 값을 "예" 또는 "아니오"로 변환하거나, 숫자를 포맷팅하거나, 날짜 형식을 변경하는 등의 작업을 수행할 수 있습니다. 사용방법 Converter는 IValueConverter 또는 IMultiValueConverter 인터페이스를 구현하는 클래스로 작성됩니다. IValueConverter는 단일 값을 변환하는 데 쓰이며, IMultiValueConverter는 여러 값을 조합하여 변환하는 데 쓰입니다. ..
-
C# WPF에서 Binding(바인딩)이란?닷넷/WPF 2023. 4. 7. 18:17
WPF에서는 MVVM 패턴을 지키는 게 중요합니다. 개인적으로 생각하기에는 이 MVVM 패턴대로 만들지 않을 것이라면 개발 속도로 봤을 때나 유지보수 적으로 봤을 때나 그냥 윈폼(WinForms)으로 만드는게 낫습니다. 따라서 바인딩은 MVVM 패턴을 지키며 WPF에서 애플리케이션을 만들 때 중요한 요소가 됩니다. 왜냐하면 WPF에서 바인딩(Binding)은 데이터 소스와 UI 요소 간의 연결을 뜻하기 때문입니다. 즉, 뷰와 뷰모델의 연결점입니다. 바인딩을 사용하면 소스의 데이터가 변경될 때 UI가 자동으로 업데이트되고, 반대로 UI에서의 변경 사항이 소스에 전달됩니다. 이렇게 함으로써 데이터와 UI 간의 동기화가 유지되어 개발자가 수동으로 UI를 업데이트할 필요가 없습니다. WPF에서는 XAML (eX..
-
C# WPF TextBlock이 렌더링 되지 않은 상태에서 ActualWidth 값이 계산되게 하는 방법닷넷/WPF 2023. 3. 28. 15:50
만약 TextBlock의 ActualWidth에 따라서 어떤 작업이 진행되어야 하는 경우에, 뷰모델에서는 이 TextBlock의 정보를 알 수 없는 경우에 말이다. 뷰모델에서 내부적으로 TextBlock을 정의하여 사용한다면 TextBlock이 렌더링이 된 것이 아니기 때문에 ActualWidth 값은 null일 수 밖에 없다. 이 경우에 ActualWidth 값을 알 수 있게 계산할 수 있는 방법이다. TextBlock textBlock = new TextBlock(); textBlock.FontSize = 14; textBlock.Text = SelectedText; textBlock.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity..
-
C# WPF TextBlock의 Text를 오른쪽에서 왼쪽으로 애니메이션(BeginAnimation, 롤링) 하는방법닷넷/WPF 2023. 3. 21. 13:10
1. MainWindow.xaml 뷰에는 텍스트를 입력하는 TextBox와 TextBox에 입력된 텍스트가 바인딩되는 TextBlock이 있습니다. 2. MainWindow.xaml.cs 뷰의 비하인드 코드에 TextBlock의 크기가 Canvas 크기를 넘어가면 애니메이션이 시작되고, 넘어가지 않으면 중지되는 StartRollingAnimation 메소드를 작성합니다. using System; using System.Windows; using System.Windows.Controls; using System.Windows.Media.Animation; namespace WPF_TextBlocK_Rolling { /// /// MainWindow.xaml에 대한 상호 작용 논리 /// public pa..
-
[WPF WebBrowser] C#에서 자바스크립트 함수를 호출하거나 자바스크립트에서 C# 메소드를 호출하는 방법닷넷/WPF 2023. 3. 20. 16:50
2022.08.03 - [C#/WinForm] - WebBrowser 자바스크립트에서 C# 메소드를 호출하는 방법 WebBrowser 자바스크립트에서 C# 메소드를 호출하는 방법 namespace WindowsFormsApplication6 { // This first namespace is required for the ComVisible attribute used on the ScriptManager class. using System.Runtime.InteropServices; using System.Windows.Forms; // This is your form. public partial class Form1 : Form jasmintime.com WPF에서는 뷰와 뷰모델을 분리하여 호출하는 방..
-
C# WPF에서 DataGrid에 데이터를 바인딩하는 간단한 예제닷넷/WPF 2023. 3. 9. 13:50
아래는 WPF의 DataGrid에 데이터를 바인딩하는 간단한 예제입니다. 이 예제에서는 Employee라는 클래스로 만든 EmployeeLists 리스트를 DataGrid에 바인딩합니다. namespace TEST_WPF.Models { public class Employee { public int Id { get; set; } public string Name { get; set; } public string Department { get; set; } public string Position { get; set; } public string TelNo { get; set; } public string TelNo2 { get; set; } public string Email { get; set; } }..
-
C# WPF에서 특정 컨트롤을 최상단에 표시하는 방법닷넷/WPF 2023. 2. 20. 14:05
WPF에서 특정 컨트롤을 최상단에 표시하려면 Panel.ZIndex Attached Property를 사용하여 해당 컨트롤의 Z 순서를 변경해야 합니다. Panel.ZIndex는 컨트롤의 Z 순서를 지정하는 데 사용됩니다. 이 속성을 사용하여 다른 컨트롤의 Z 순서보다 높은 값을 지정하면 해당 컨트롤이 다른 모든 컨트롤 위에 표시됩니다. 다음은 Panel.ZIndex를 사용하여 Button을 최상단에 표시하는 예제입니다. 위의 예제에서 첫 번째 Button에 Panel.ZIndex 속성을 지정하여 값을 1로 설정합니다. 두 번째 Button에는 Panel.ZIndex 속성을 지정하지 않으므로 값이 0으로 설정됩니다. 이 경우, 첫 번째 Button은 두 번째 Button 위에 표시됩니다. 다른 컨트롤을 ..
-
C# WPF에서 창을 최상단에 표시하는 방법닷넷/WPF 2023. 2. 20. 13:58
WPF에서 창을 최상단에 표시하는 방법은 Window 클래스의 Topmost 속성을 사용하는 것입니다. Topmost 속성은 창이 다른 창 위에 항상 최상위로 유지되도록 지정합니다. 창을 최상단에 표시하려면 Window 인스턴스의 Topmost 속성을 true로 설정합니다. 예를 들어, 다음과 같이 작성할 수 있습니다. 또는 비하인드 코드에서 Topmost 속성을 변경할 수 있습니다. // 창을 최상단에 표시 myWindow.Topmost = true; 창을 최상단에 유지하는 것은 사용자 경험 측면에서 중요할 수 있지만, 불필요하게 창이 다른 애플리케이션의 창 위에 계속해서 표시되는 것은 사용자에게 방해가 될 수 있으므로 신중하게 사용해야 합니다.
-
C# WPF에서 웹브라우저를 최상단에 표시하는 방법닷넷/WPF 2023. 2. 20. 13:55
WPF에서 웹 브라우저를 항상 최상단에 표시하려면 다음과 같이 작성할 수 있습니다. 1. Window의 Topmost 속성을 true로 설정합니다. 2. WebBrowser 컨트롤을 추가하고, Window의 Content 속성으로 설정합니다. 3. Window의 Loaded 이벤트에서 WebBrowser 컨트롤의 Visibility 속성을 Hidden으로 설정합니다. private void Window_Loaded(object sender, RoutedEventArgs e) { webBrowser.Visibility = Visibility.Hidden; } 4. Window의 ContentRendered 이벤트에서 WebBrowser 컨트롤의 Visibility 속성을 Visible로 설정합니다. pri..
-
C# WPF 도서, 공부 자료 (MVVM 패턴 포함)닷넷/WPF 2021. 12. 6. 13:59
0. WPF 장인 이재웅님이 쓰신 책 (2023년 8월 작!) https://jamesnet.dev/payment Jamesnet jamesnet.dev 그동안 WPF 책이 참 없었는데, 있는 것도 절판된 상황에서 WPF 책이! 한국인에 의한, 한국인을 위한 책이 나왔다. 현재는 (2024년 1월 28일 기준) 이북만 존재하므로 구매 후에 Books에 들어가서 시간이 조금 지나면 책을 읽을 수 있다. https://www.youtube.com/watch?v=2PuvhTEcWAQ 책의 실습 영상도 있다. 스터디를 통해 강연을 하시기도 하는데 일정 또한 이 사이트에서 확인할 수 있다. 1. WPF 능력자이신 arong(밍)님의 블로그, 깃허브 예제를 통한 프로젝트 공부 https://arong.info/Li..