WPF 10

상하좌우 이동 및 확대/축소

상하좌우 이동 및 확대/축소 WPF에서 사용자가 다음을 수행할 수 있는 간단한 이미지 뷰어를 만들고 싶습니다. 이동(마우스로 이미지를 끌어서 이동). 슬라이더를 사용하여 확대/축소합니다. 오버레이 표시(예: 직사각형 선택). 원본 이미지를 표시합니다(필요한 경우 스크롤 막대 포함). 어떻게 하는지 설명해 주시겠습니까? 저는 웹에서 좋은 샘플을 찾지 못했습니다.ViewBox를 사용해야 합니까?아니면 이미지 브러시?ScrollViewer가 필요합니까?이 질문의 샘플을 사용한 후 마우스 포인터와 관련하여 적절한 확대/축소가 가능한 완전한 버전의 팬 & 줌 앱을 만들었습니다.모든 이동 및 확대/축소 코드가 ZoomBorder라는 별도의 클래스로 이동되었습니다. ZoomBorder.cs using System.L..

programing 2023.07.04

WPF의 comboBox에 항목 추가

WPF의 comboBox에 항목 추가 WPF 창에 comboBox를 추가한 경우 comboBox에 항목을 추가하려면 어떻게 해야 합니까?설계의 XAML 코드 또는 NameOfWindow.xaml.cs 파일 중 어느 쪽입니까?케이스 1 - 데이터 소스가 없습니다. 를 입력하기만 하면 됩니다.ComboBox다음과 같은 정적 값을 사용합니다. XAML에서: CodeBehind - 1부터: private void Window_Loaded(object sender, RoutedEventArgs e) { comboBox1.Items.Add("Alice"); comboBox1.Items.Add("Bob"); comboBox1.Items.Add("Charlie"); } CodeBehind에서 - 2: // insert..

programing 2023.04.15

WPF 슬라이더를 개별 정수 위치에만 스냅하려면 어떻게 해야 합니까?

WPF 슬라이더를 개별 정수 위치에만 스냅하려면 어떻게 해야 합니까? 시스템처럼 동작하는 WPF 슬라이더를 원합니다.창문들.Forms.TrackBar는 오래된 것입니다.즉, X에서 Y로 이동하지만 사용자가 개별 정수 위치에서만 이동할 수 있는 슬라이더를 원합니다. WPF에서는 슬라이더의 Value 속성이 이중으로 되어 있는데 어떻게 해야 합니까?간단한 답은 IsSnapToTickEnabled 및 TickFrequency 속성을 활용하는 것입니다.즉, 스냅을 틱으로 설정하고 틱 빈도를 1로 설정합니다. 즉, 진드기를 이용하지만 꼭 스냅하고 있는 진드기를 보여줄 필요는 없습니다. 다음 xaml을 확인하십시오. 체크 마크를 올바르게 설정하면 IsSnapToTickEnabled를 사용할 수 있습니다.나한테는 꽤..

programing 2023.04.15

트리거에서 다른 컨트롤의 속성에 바인딩하려면 어떻게 해야 합니까?

트리거에서 다른 컨트롤의 속성에 바인딩하려면 어떻게 해야 합니까? 특히 TextBox의 IsReadOnly 속성에 바인드하여 버튼의 Content 속성을 설정합니다.둘 다 같은 스택패널의 일부입니다. TextBox의 ElementName에 바인딩되어 있는 DataTrigger와 TextBox 이름을 SourceName으로 사용하는 트리거를 사용해 보았습니다. 무슨 생각 있어?트리거를 유형의 일부로 지정해야 합니다. 버튼 자체의 트리거 집합은 이벤트 트리거만 포함할 수 있습니다.이를 염두에 두고 DataTrigger는 정상적으로 작동합니다.그러나 주름이 있습니다. 트리거 설정기의 값이 로컬 내용 속성을 덮어쓰지 않습니다.따라서 유형에서도 기본 내용을 설정해야 합니다.그 외관은 다음과 같습니다. 이거 먹어봤..

programing 2023.04.15

WPF 사용자 컨트롤을 창까지 넓히려면 어떻게 해야 합니까?

WPF 사용자 컨트롤을 창까지 넓히려면 어떻게 해야 합니까? 사용자 컨트롤이 있는 창이 있으며 사용자 컨트롤 너비를 창 너비와 동일하게 하고 싶습니다.어떻게 하는 거야? 사용자 컨트롤은 수평 메뉴이며 다음 세 개의 열이 있는 그리드를 포함합니다. 그래서 두 번째 컬럼을 기준으로 사용자 컨트롤을 100% 너비로 늘려야 합니다. 편집: 그리드를 사용하고 있으며, Window에 대한 코드가 있습니다. 사용자 컨트롤의 xaml 파일에서 사용자 컨트롤의 너비가 설정되지 않았는지 확인해야 합니다.Width="..."를 삭제하기만 하면 됩니다! EDIT: 테스트한 코드는 다음과 같습니다. SOUserAnswerTest.xaml: a b c Window 1.xaml: WPF의 캔버스는 자동 레이아웃을 많이 지원하지 않..

programing 2023.04.15

WPF를 통한 열거형으로의 ListBox 바인딩(Description Atribute

WPF를 통한 열거형으로의 ListBox 바인딩(Description AtributeObjectDataProvider 메서드를 사용하여 ListBox를 열거형으로 바인드하여 Description 속성을 표시할 수 있습니까?그렇다면 어떻게 해야 할까?네, 가능합니다.이거면 될 거야.예를 들어 열거가 있다고 합시다. public enum MyEnum{ [Description("MyEnum1 Description")] MyEnum1, [Description("MyEnum2 Description")] MyEnum2, [Description("MyEnum3 Description")] MyEnum3} 그런 다음 ObjectDataProvid..

programing 2023.04.15

XAML: 속성 'Resources'가 두 번 이상 설정되었습니다.

XAML: 속성 'Resources'가 두 번 이상 설정되었습니다. 다음의 에러가 표시됩니다. 'Resources' 속성이 두 번 이상 설정되었습니다. XAML은 다음과 같습니다. 그.ResourcesXaml의 속성은 영리하다: 타입ResourceDictionary하지만, 만약 당신이 명시적으로그 내용을 태그하면 컴파일러가 마법처럼 추정합니다.그래서 보통 붓을 바로 마크업에 넣을 수 있어요. 하지만, 당신은 당신 자신의 것을 넣는 것으로 시작했습니다.ResourceDictionary그래서 컴파일러는 당신이 두 개 이상의 값을 설정하려고 한다고 생각합니다.이렇게 다시 쓰면 원하는 결과를 얻을 수 있습니다. 실제로 XAML을 복사하여 사용자 제어에 붙여넣으면 문제없이 구축됩니다(참조된 변환기 클래스를 추가할..

programing 2023.04.15

C# - WPF 어플리케이션에 사용자 설정을 저장하는 방법

C# - WPF 어플리케이션에 사용자 설정을 저장하는 방법 WPF 윈도(데스크탑) 어플리케이션에서 사용자 설정을 유지하려면 어떤 방법을 권장합니다.사용자는 실행 시 설정을 변경한 후 응용 프로그램을 종료할 수 있습니다.그러면 나중에 응용 프로그램을 시작할 때 현재 설정이 사용됩니다.실제로 응용 프로그램 설정은 변경되지 않은 것처럼 표시됩니다. Q1 - 데이터베이스 또는 기타 접근법sqlite 데이터베이스를 사용할 예정이므로 데이터베이스 내의 테이블을 사용하는 것이 어떤 접근법보다 좋습니까? Q2 - 다른 데이터 "Da" 등)string,long,DateTimeetc) 및 이 있는 .etc )。첫 번째가 더 편할 것 같은데, 설정이 많지 않으면 오버헤드가 별로 안 나요? Q3 - 어플리케이션 설정을 사용할..

programing 2023.04.10

InvokeAsync와 Begin의 차이점은 무엇입니까?WPF 디스패처 호출

InvokeAsync와 Begin의 차이점은 무엇입니까?WPF 디스패처 호출 에 주목했습니다.WPF 디스패처는 InvokeAsync라고 불리는 디스패처의 스레드 상의 내용을 실행하기 위한 새로운 메서드 세트를 취득했습니다.전에.NET 4.5 호출 및 시작가 각각 동기 및 비동기적으로 처리한 호출. 네이밍과 사용 가능한 오버로드가 약간 다른 것 외에, 이 두 가지 사이에 큰 차이가 있습니까?BeginInvoke및 그InvokeAsync방법? 아, 그리고 내가 이미 확인했는데 둘 다 그럴 수 있어awaited: private async Task RunStuffOnUiThread(Action action) { // both of these works fine await dispatcher.BeginInvoke..

programing 2023.04.10

텍스트를 잘라내는 대신 줄바꿈하는 셀을 사용하여 WPF 데이터 그리드를 얻는 방법은 무엇입니까?

텍스트를 잘라내는 대신 줄바꿈하는 셀을 사용하여 WPF 데이터 그리드를 얻는 방법은 무엇입니까? 텍스트를 잘라내는 대신 줄바꿈하는 셀을 사용하여 WPF DataGrid를 얻으려면 어떻게 해야 합니까? 텍스트가 더 크고 열에 맞지 않으면 DataGrid의 IsReadOnly 속성이 참이기 때문에 텍스트가 잘리고 사용자가 값을 볼 수 없습니다.원하는 것은 셀의 텍스트를 랩하고 셀 높이(NO CELL WIDE)를 높여 모든 텍스트를 표시하는 것입니다.@H.B.를 이용해 주셔서 감사합니다(정렬은 옵션입니다). 저는 D와 비슷한 것을 만들었습니다.로자도스 솔루션하지만 랩핑이 필요한 컬럼이 더 있으면 내 컬럼을 재사용할 수 있습니다. 셀을 템플릿으로 만들 수 있습니다.TextBlock문자 변환이 유효하게 되어 있습..

programing 2023.04.10