2009-07-28 5 views
2

IsolatedStorage의 AvailableFreeSpace 값을 보여주는 간단한 텍스트 블록을 표시하려고합니다. 이다IsolatedStorageFile 변수에 바인딩하기 Silverlight의 AvailableFreeSpace

:. System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication는() AvailableFreeSpace

그것은 동적으로 사용 가능한 저장 변경으로 업데이트해야합니다.

나는 이것이 아마도 기본이지만이 변수에 바인딩하는 방법을 알 수 없다는 것을 알고있다. 어떤 힌트?

답변

1

IsolatedStorageFile.AvailableFreeSpace와 같은 일반 오래된 CLR 개체의 속성을 TextBlock.Text와 같은 UI 속성에 바인딩하면 실제로 CLR 속성의 변경 사항이 적용되었는지 확인하기 위해 약간의 추가 작업이 필요합니다. UI. SL에서는 CLR 객체 (이 경우 IsolatedStorageFile)가 INotifyPropertyChanged를 구현해야 함을 의미합니다. 구현은 매우 간단합니다. 객체에 PropertyChanged라는 이벤트를 추가하십시오. 당신의 경우에 AvailableFreeSpace가 될 흥미로운 변화가있을 때마다 그 사건을 발사하십시오. IsolatedStorageFile은 INotifyPropertyChanged를 구현하지 않으므로 AvailableFreeSpace가 변경되면 업데이트를받지 못합니다. 이 인터페이스를 구현하는 자체 클래스를 만든 다음 타이머 기반 폴링과 같은 메커니즘을 사용하여 IsolatedStorageFile.AvailableFreeSpace를 정기적으로 확인하고 자신의 AvailableFreeSpace 속성에 변경 사항을 반영해야합니다. 개인적으로 필자는 쓰기 작업 후 여유 공간을 확인하고 사용자 지정 AvailableFreeSpace 속성으로 만든 클래스에 변경 내용을보고하는 커스텀 클래스를 통해 격리 된 저장소에 대한 모든 쓰기 호출을 실행하고 대신이 경우 발생하면 PropertyChanged 이벤트를 발생시키는 것을 확인했습니다. 주기적으로 타이머를 사용하여 점검하십시오.

+0

감사합니다. JC. 당신이 제안하는 것이 의미가 있습니다. 나는 그것이 더 간단 할 것이라는 점을 희망하고 있었다 ... –