반응형

WPF 12

WPF 사용자 제어의 로드된 이벤트가 두 번 이상 발생함

WPF 사용자 제어의 로드된 이벤트가 두 번 이상 발생함 WPF에서 탭 기반 환경을 구현하려면 양식을 사용자 컨트롤로 변환해야 하지만, 이 작업을 수행할 때는Loaded사용자 컨트롤의 이벤트를 두 번 호출합니다. 인터넷에서 검색하는 동안 다른 사람들도 이 문제를 지적했습니다.로드된 이벤트가 한 번만 호출되도록 하려면 어떻게 해야 합니까?여러 번 호출되면 제어 장치의 초기화가 여러 번 발생하기 때문입니다.이 블로그에서 설명한 것처럼 로드된 이벤트는 컨트롤이 렌더링될 때마다(즉, 시각적 트리에 추가될 때) 실행됩니다. 컨트롤을 여러 번 로드/언로드할 수 있는 여러 컨트롤이 있습니다.예를 들어 기본 WPF 탭 컨트롤은 선택한 탭의 내용만 렌더링합니다.따라서 새 탭을 선택하면 이전에 선택한 탭의 내용이 언로드됩..

source 2023.04.27

그리드 변경 방법.행 및 그리드.wpf에서 코드 뒤에 있는 컨트롤의 열

그리드 변경 방법.행 및 그리드.wpf에서 코드 뒤에 있는 컨트롤의 열 제가 통제권을 가지고 있습니다.DataGrid다음과 같이: 어떻게 변경합니까?Grid.Row그리고.Grid.Column뒤에 있는 코드의 통제권?이를 위한 정적 방법도 있습니다(코드에서 속성을 사용하여 DP를 사용하는 대신 첨부되지 않은 속성을 설정하는 것과 유사합니다). Grid.SetRow(txtDescription, 1); 이것이 더 읽기 쉽다는 것을 알게 될 것입니다.종속성 개체를 사용합니다.SetValue(그리드에 대한 종속성 속성을 전달).할당할 행 및 값: this.txtDescription.SetValue(Grid.RowProperty, 1); 언급URL : https://stackoverflow.com/questions..

source 2023.04.27

런타임에 XAML을 로드하시겠습니까?

런타임에 XAML을 로드하시겠습니까? 첫 번째 몇 가지 배경:저는 애플리케이션을 작성하고 있으며 MVVM 규약을 따르려고 노력하고 있습니다.제가 하고 싶은 한 가지는 애플리케이션에 다른 "스킨"을 부여하는 것입니다.동일한 애플리케이션이지만 한 클라이언트에 대해 하나의 "스킨"을 표시하고 다른 클라이언트에 대해 다른 "스킨"을 표시합니다. 그래서 제 질문은 다음과 같습니다. 실행 시 xaml 파일을 로드하여 내 앱에 "할당"할 수 있습니까? xaml 파일이 다른 폴더에 있는 외부 파일일 수 있습니까? 응용 프로그램이 다른 xaml 파일로 쉽게 전환할 수 있습니까, 아니면 시작할 때만 전환할 수 있습니까? 그렇다면 어디서부터 이에 대한 정보를 찾아야 할까요?어떤 WPF 방법이 존재할 경우 이 기능을 처리합니..

source 2023.04.27

XAML에서의 TimeSpan 포맷 방법

XAML에서의 TimeSpan 포맷 방법 텍스트 블록의 포맷을 시도하고 있는 텍스트 블록은TimeSpan소유물.속성이 유형인 경우 작동합니다.DateTime단, 이 경우 실패한다.TimeSpan컨버터를 이용해서 끝낼 수 있어요하지만 저는 다른 대안이 있는지 알아보려고 합니다. 샘플 코드: public TimeSpan MyTime { get; set; } public Window2() { InitializeComponent(); MyTime = DateTime.Now.TimeOfDay; DataContext = this; } Xaml 텍스트 블록이 몇 시간이고 몇 분밖에 표시되지 않을 것으로 예상합니다.그러나 다음과 같이 표시됩니다. 19:10:46.8048860 이 포맷 문자열은 다음과 같이 동작하도록 ..

source 2023.04.22

선택한 ListBox 항목의 배경색 변경

선택한 ListBox 항목의 배경색 변경 지금까지의 XAML입니다. Date: Severity: 유일한 문제는 선택한 항목의 오른쪽에 파란색 상자가 있다는 것입니다.선택 색상을 변경할 수 있는 방법이 있을 것 같은데 찾을 수 없습니다. 그리고. 목록 상자 항목의 스타일을 재정의하기만 하면 됩니다( 참조).TargetType은 ListBoxItem)또는 HighlightBrushKey를 ListBox에 직접 적용할 수도 있습니다.Setter 속성="백그라운드" 값="투명"은 작동하지 않았습니다.하지만 포그라운드를 블랙으로 설정해야 했어요. ListBox를 사용해야 합니다.Item Container Style. 리스트 박스ItemTemplate는 항목의 내용을 표시하는 방법을 지정합니다.그러나 WPF는 여전..

source 2023.04.22

ICommand MVVM 구현

ICommand MVVM 구현 이 MVVM 구현에서는 몇 가지 명령어가 필요합니다.ICOMMAND 수업을 하나하나 실시하는 것에 싫증이 나서 해결책을 생각해 냈습니다만, 그것이 얼마나 좋은지 알 수 없기 때문에, 여기 있는 WPF 전문가라면 가르쳐 주세요.그리고 더 나은 솔루션을 제공할 수 있다면 더 좋을 것입니다. 이 작업은 하나의 ICommand 클래스와 2명의 딜러가 객체를 매개 변수로 사용하므로 한 딜러는 무효(OnExecute의 경우)이고 다른 딜러는 Bool(OnCanExecute의 경우)입니다.따라서 ICMand(ViewModel 클래스로 호출됨)의 컨스트럭터에서 두 가지 메서드를 전송하고 각 ICOMMand 메서드에서 딜러의 메서드를 호출합니다. 정말 잘 먹히긴 하는데 이게 나쁜 방법인지 ..

source 2023.04.22

비트맵 이미지의 특정 픽셀 색상 찾기

비트맵 이미지의 특정 픽셀 색상 찾기 에서 로드한 WPF 비트맵이미지가 있어요다음과 같은 JPG 파일: this.m_image1.Source = new BitmapImage(new Uri(path)); 나는 특정 지점에서의 색상에 대해 질문하고 싶다.예를 들어 픽셀(65,32)에서의 RGB 값은 얼마입니까? 이거 어떻게 해야 되지?저는 다음과 같은 접근방식을 취했습니다. ImageSource ims = m_image1.Source; BitmapImage bitmapImage = (BitmapImage)ims; int height = bitmapImage.PixelHeight; int width = bitmapImage.PixelWidth; int nStride = (bitmapImage.PixelWidt..

source 2023.04.17

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

컨트롤의 속성을 다른 컨트롤의 속성에 바인딩하려면 어떻게 해야 합니까? 폼이 비활성화되면 폼에서 Save Button을 삭제해 주세요.저는 이렇게 합니다. this.formStackPanel.IsEnabled = someValue; if(this.formStackPanel.IsEnabled) { this.saveButton.Visibility = Visibility.Visible; } else { this.saveButton.Visibility = Visibility.Collapsed; } XAML에 그 속성들을 묶는 방법은 없나요? 더 나은 방법이 있나요?예. 스택 패널의 IsEnabled를 버튼의 가시성 속성에 바인딩할 수 있습니다.단, 변환기가 필요합니다.WPF에는 Boolean ToVisibili..

source 2023.04.17

WPF 엔트리 포인트 교환

WPF 엔트리 포인트 교환 WPF는 자체 정의Main()방법.어떻게 교환하면 좋을까요?Main(통상은) WPF를 여는 방법MainWindow(예를 들어 명령줄 인수를 사용하여 비 WPF 스크립트모드를 추가하는 경우)일부 예에서는 App.xaml의 빌드 액션을 다음과 같이 변경합니다.ApplicationDefinition로.Page직접 써보는 것도 있고Main()그 결과,Appclass를 호출합니다.Run()단, App.xaml의 어플리케이션 전체 리소스를 해결할 때 바람직하지 않은 결과가 발생할 수 있습니다. 대신, 나는 당신만의 것을 만들 것을 제안합니다.Main()Startup Object를 프로젝트 속성에서 해당 클래스는 다음과 같습니다. public class EntryPoint { [STAThr..

source 2023.04.12

UI 디스패처를 ViewModel로 전달하는 방법

UI 디스패처를 ViewModel로 전달하는 방법 View에 속하는 Dispatcher에 액세스할 수 있어야 하며 ViewModel에 전달해야 합니다.그러나 View는 View Model에 대해 아무것도 모르면 안 됩니다. 그렇다면 View Model은 어떻게 통과해야 합니까?인터페이스를 도입하거나 해당 인터페이스를 인스턴스에 전달하는 대신 View에서 작성되는 글로벌 디스패처 싱글톤을 작성하시겠습니까?MVVM 애플리케이션 및 프레임워크에서 이 문제를 해결하려면 어떻게 해야 합니까? 수 있기 에 "View Models"만 수 .Dispatcher.CurrentView Model view view view 。인터페이스 IContext를 사용하여 디스패처를 추상화했습니다. public interface IC..

source 2023.04.12
반응형