마우스는 여러분도 알다시피 정적 클래스입니다. 여기에는 Mouse.Position
이라는 정적 속성이 있습니다. 이 속성은 동적으로 업데이트됩니다 (마우스에 바인딩 됨, 아마도 ??). (msdn에서 마우스 설명서를 읽었습니다.)자체를 업데이트 한 정적 클래스를 만드는 방법은 무엇입니까? (마우스와 유사)
이 시나리오에서는 동일한 클래스를 만들어야합니다.
여러 페이지를 가질 수있는 응용 프로그램을 만들고 각 페이지를 공유합니다 (예 : Margin
). Mouse.Position
유사
- 는 "페이지"클래스의 필드를 확인하고 생성자를 통해 값을 전달 (쉬운)
- 정적 클래스 :
2 옵션을 (내가 생각하는) 그것을 할 수 거기 사용법은, 그러나,이 경우, 예를 들어,
PageInformation.Margin
내가 디버그 (내 생각)에보다 쉽게 이후 두 번째 옵션을 선호하고, 페이지를 만들
(PageInformation
는 클래스가 아닌 속성이나 필드입니다) 클래스 클리너, 코드없는, 업데이트 중 더 쉬운 여백이 어떻게 든 사용자에 의해 변경된 경우 ...
누구나 어떻게 해야할지 알고 계십니까? (mvvm 방식 선호)
감사합니다.
업데이트 : P. 난 이미 기본 MVVM 연습 (INPC 등)
이 지금까지 내 응용 프로그램에서 일반적으로 코드를 이해 :
public class ViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
...
}
public class SheetPage : ViewModel
{
...
}
아키텍처에 관한 질문입니까, 아니면'INotifyPropertyChanged' 구현 방법을 알고 싶습니까? - 첫 번째로 : 저는 페이지의 여백을 전역 변수로 갖는 것이 좋은 생각이며 디버깅이 더 쉬워야하는 이유는 무엇입니까? 전역 변수는 이해와 디버깅을 장기적으로 어렵게 만드는 경향이 있습니다. – Carsten
나는 아키텍처에 대해 더 많이 생각합니다. Idk 전역 변수에 대한 tbh. 그것은'Mouse.Position'도 마찬가지입니다. –
"알지 못합니다"? 그리고 심지어 마우스 예제에서라도 OOP를위한 좋은 디자인이라면 약간의 견해를 가지고 논쟁 할 수 있습니다.하지만 최소한 시스템에서 하나의 마우스 포인터 만 사용했기 때문에 터치가 너무 바뀌 었습니다. – Carsten