결합을 통해 수집 누락 된 항목이 추가 :처음 감안할 때
class StringRecord : INotifyPropertyChanged
{
public string Key { get; set; } // real INPC implementation is omitted
public string Value { get; set; } // real INPC implementation is omitted
...
}
class Container
{
public ObservableKeyedCollection<string, StringRecord> Params { get; set; }
...
{
ObservableKeyedCollection
는 the one found here입니다.
이 텍스트 상자는 (DataContext를 상속한다) 수집 항목 중 하나에 바인딩 :
<TextBox Text="{Binding Params[APN_HOST].Value}"/>
내가 수동으로 컬렉션에 "APN_HOST"항목을 추가 할 때, 바인딩 작품은 예상대로. 내가 갇혀있어 이제
: 나는 즉 그런 식으로 빈 콜렉션을 편집 할 수 있도록하려면,
지정된 키 컬렉션에는 항목이없는 경우 및 사용자 유형의 텍스트 텍스트 상자에 해당 키가있는 컬렉션에 새 항목이 추가됩니다.
나는 컬렉션의 의미를 "발견되지 않는 경우는 기본"어떤 종류의를 구현하기 위해 노력하지만, 하나의 값 :
를 공유하는 모든 텍스트 상자가StringRecord
의 동일한 기본 인스턴스에 바인딩되는 결과
내가 여기에서 정말로 명백한 무엇인가를 멀리 바라보고있는 것처럼 느낀다.
[BindingBase.FallbackValue] (http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.fallbackvalue) 또는 [BindingBase.TargetNullValue] (http : // msdn Microsoft.com/ko-kr/library/system.windows.data.bindingbase.targetnullvalue)? – LPL
@LPL 그래, 텍스트 상자에 예상대로 올바르게 표시되지만 편집하면 새 항목이 여전히 컬렉션에 추가되지 않습니다. – vines