2010-03-17 2 views
1

일부 텍스트 상자를 채우는 바인딩 원본 개체가 있습니다. 런타임에는 텍스트 상자를 편집 한 후 이전 값을 검색 할 수 있기를 원합니다.Winforms BindingSource

어떻게 텍스트 상자의 이전 값을 검색하고 화면을 새로 고칠 수 있습니까? 아마도 바인딩 소스에 히스토리 또는 무언가가 있습니까?

답변

2

아니요. 데이터 바인딩은 역사를 유지하는 것이 아닙니다. 원래의 값을 원하고 바인딩 소스 및 컨트롤 외부에 유지하십시오.) 기본 디자인 원칙 - 전체 데이터 바인딩 인프라를 가늘게 유지합니다. 왜냐하면 많은 경우에 역사가 필요하지 않기 때문에 다른 곳에서는 데이터 바인딩이 아닌 비즈니스 측면에서 가장 잘 구현되기 때문입니다.

+0

바운드 된 개체가 외부에 저장되어 있습니다. 어떻게 할 수 있습니까 이전 값으로 컨트롤을 업데이트 하시겠습니까? 나는 이렇게 시작하고 싶지 않습니다. "textbox1.text = ...", 데이터 소스를 변경하고 어떻게하면 화면 \ 컨트롤을 새로 고칠 수 있습니까? – Erez

+0

바인딩 소스에서 속성을 변경할 때 텍스트 상자를 업데이트하려면 [INotifyPropertyChanged] (https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx)를 BindingSource의 데이터 원본에있는 개체 [예제] (http://www.codeproject.com/Articles/15822/Bind-Better-with-INotifyPropertyChanged). – jnm2

관련 문제