값 추가 : MSDN I에 제안WPF - 바인딩 가능한 읽기 전용 종속성 속성을 노출하고 내부적으로 내 코드 그게 전부
1) 나는 그것을은 DependencyPropertyKey를 만든 이후 : 여기이 문제가
public static readonly DependencyPropertyKey ItemsSourceKey =
DependencyProperty.RegisterReadOnly("ItemsSource", typeof(List<string>), typeof(MyTextBox), null);
public static readonly DependencyProperty ItemsSourceProperty = ItemsSourceKey.DependencyProperty;
public List<string> ItemsSource
{
get { return (List<string>)GetValue(ItemsSourceProperty); }
}
내 XAML의 ItemsSource를 더 이상 볼 수 없습니다.
2. 사용자는 MyTextBox 컨트롤의 ItemsSource에서 현재 문자열을 가져 오는 List에 바인딩 할 수 있어야합니다. 내부적으로 MyTextBox 내부에서 ItemsSource에 문자열을 추가하려고하지만 List 인스턴스를 만들어서 ReadOnly이므로 ItemsSource에 할당 할 수 없습니다.
어떻게 해결할 수 있습니까? 내부적으로 데이터를 설정할 수있는 바인딩 가능한 읽기 전용 속성이 필요합니다. 아마도 .Text 속성을 사용하여 왜 거기에 바인딩하지 않는지 물어볼 수 있습니다. 사용자가 데이터를 입력하면 변경하고 목록에서 변경된 값을 반환하고자합니다 ...
어디서나 ItemsControl을 사용하지 않습니다! – Pascal
John은 ItemsControl이 복사 할 수있는 참조임을 의미했습니다. –
내가 지금 등록 된 내 자신의 ItemsSource Dep Prop. typeof List이며 더 많은 로직이있는 모든 TextChange에서 업데이트되고 있습니다. –
Pascal