2018/06/20
How to initialize all the settings in 'Visual Studio'. - Solve the problem that debugging does not work.
Run: Start->Visual Studio->Developer Command Prompt.
Inputs the initialization command:
devenv /resetuserdata
In this way, I solved a problem 'Debugging not working'.
2018/06/19
Extending the Shown Event in WPF
Using the Shown Event.
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); var eventExtend = this.EventExtend(); eventExtend.AddShownEventHandler(this.MainWindow_Shown); } public void MainWindow_Shown(object sender, EventArgs e) { } }
Fire the Shown Event using the LayoutUpdated Event.
public class FrameworkElementEventExtend { public event EventHandler Shown; private bool initialized; private readonly FrameworkElement frameworkElement; public FrameworkElementEventExtend(FrameworkElement frameworkElement) { this.frameworkElement = frameworkElement; this.frameworkElement.LayoutUpdated += FrameworkElement_LayoutUpdated; } private void FrameworkElement_LayoutUpdated(object sender, EventArgs e) { if (!this.initialized && (this.frameworkElement.ActualHeight > 0 || this.frameworkElement.ActualWidth > 0)) { this.Shown?.Invoke(this, EventArgs.Empty); this.initialized = true; this.frameworkElement.LayoutUpdated -= FrameworkElement_LayoutUpdated; } } } public static class FrameworkElementEventExtendHelper { public static FrameworkElementEventExtend EventExtend(this FrameworkElement frameworkElement) { FrameworkElementEventExtend eventExtend = new FrameworkElementEventExtend(frameworkElement); return eventExtend; } public static void AddShownEventHandler(this FrameworkElementEventExtend eventExtend, EventHandler eventHandler) { eventExtend.Shown += eventHandler; } }
피드 구독하기:
덧글 (Atom)
C# 문자열 포함 여부 확인하기.
ToUpper() 를 사용하면 불필요한 문자열을 생성하므로 좋은 방법은 아니다. string text = "This is an apple." ; string apple = "Apple." ; bool ...
-
이벤트를 발생하는 방법. 속성의 값이 변경되면 이벤트를 발생하고 처리를 해보자. event 키워드를 사용하여 이벤트를 선언 하고 이벤트 대리자를(핸들러 메서드 형식) 지정 한다. public event EventHandler Valu...
-
WPF 컬렉션 바인딩 과 필터 및 정렬 모델 ComboBox에서 보기 좋은 출력을 위해 DisplayName 을 추가 한다. public class ProductType { public string ProductTypeI...
-
Button을 클릭 하면 어떤 작업을 실행하고 실행 과정을 ProgressBar에 표시 한다고 가정하자. 이전 사용하던 번거로운 비동기 처리 작업과 Control.Invoke() 메서드를 사용하지 않고 async await 를 사용하여 간편하게 ...