내 WPF 응용 프로그램에서 MVVM 패턴을 사용하는 것이 처음인데 이상한 상황에 빠졌습니다. 사실 StackOverflow에서 Metainputtextbox와 비슷한 것을 만들려고합니다 (새로운 질문을 작성할 때). (! DOH)WPF MVVM 데이터 바인딩 - 공간을 확인한 다음 체크 박스를 지우십시오.
내가 텍스트 상자를 내 뷰 모델의 속성에 바인딩 :
그래서 일을하려고 무엇을 메신저. 설정 속성에서 메신저에 공백이 있는지 확인 ('')하지만 공백이 아닌 경우 (즉 메타 워드가 있음을 의미) 공백에서 트리밍 한 다음 내 개인 속성에 저장합니다. 그리고 updateProp을 호출합니다. 이제 여기 까다로운 부분이 있습니다. metaword가 저장된 후에 문자열과 텍스트 상자를 지우고 싶지만 내 속성을 ""로 설정하면 물론 모든 것을 다시 트리거합니다.XAML
<TextBox
Name="txtBoxMetaInput"
Text="{Binding Path=MetaInput, Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"/>
의 ViewModel 내가 텍스트 상자를 비우고 metaword 배열에 저장 한 후 property's을 취소 할 것인지가 지금 무슨 누락
private string metaInput { get; set; }
public string MetaInput
{
get { return metaInput; }
set
{
if (value.Contains(' ') && String.IsNullOrEmpty(value) == false)
{
metaInput = value.Trim(' ');
saveTheMetaKeyWordToAnArrayOfMetawords();
this.OnPropertyChanged("MetaInput");
}
}
}
.
는이 문제는 아마 그것에 눈의 새로운 세트를 필요로 :)
는
안녕하세요. –
Imean 그래, 그게 재산과 handeling 위해 일한다고 생각하지만 그것은 컨트롤을 업데이 트하지 않을거야 ... –
@ user1057806 그것은 할 것입니다 - 당신이 완료되면 그 속성에 대한 PropertyChanged 인상 *. 지금 당장은 2 배로 효과적으로 올릴 수 있습니다. 컨트롤을 업데이트하기 위해 마지막에 한 번 올리기 만하면됩니다. –