UserControl에 Dependecy Property를 이용해 객체를 생성했습니다.
public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
nameof(logText), typeof(string), typeof(ConsoleControl), new PropertyMetadata(string.Empty));
public string logText
{
get { return (string)GetValue(TextProperty); }
set
{
var r = ProcessLogData(value);
// SetValue(TextProperty,r);
SetValue(TextProperty,Value)
}
}
원래 저의 생각은 View에서 값을 해당 속성값으로 전달해주면 setter가 동작해야한다고 생각하는데, setter는 전혀 동작하지 않네요.
setter에서 데이터를 조작하고 그다음에 SetValue로 데이터를 넘겨준다고 생각했는데, 동작원리가 이해가 안갑니다.
해외 커뮤니티를 찾아봐도 dependency property는 SetValue 자체를 가져온다는 말밖에 없어서… 혼란이 오네요…
결론은 Main에서 속성값으로 넘겨준 데이터를 userControl 비하인드에서 가공하여 userControl의 TextBox에 보여주고 싶은데 방법이 없나요??
UserControl의 xaml에 바인딩까진 다 해놨습니다. 가공 없이 데이터 바인딩 되는것까진 확인이 되는데, 가공한다음 바인딩을 어떻게 해야할지 모르겠네요…
고수님들의 답변 기다리겠습니다. 감사합니다.
ps.Setter 안에 SetValue를 지워도 UI 에 데이터는 올라가네요… 신기…