Когда вы привязываете свойство на обычном старом объекте CLR, например IsolStorageFile.AvailableFreeSpace, к свойству пользовательского интерфейса, например TextBlock.Text, вам действительно нужно сделать небольшую дополнительную работу, чтобы убедиться, что изменения в свойстве CLR распространяются на пользовательский интерфейс. В SL это означает, что объект CLR (в данном случае изолированныйStorageFile) должен реализовать INotifyPropertyChanged. Реализация очень проста, просто добавьте событие в свой объект с именем PropertyChanged; затем запускайте это событие каждый раз, когда что-то интересное изменяется, которое будет доступно в FreeFormSpace в вашем случае. Поскольку IsolStorageFile не реализует INotifyPropertyChanged, вы не будете получать обновления при изменении AvailableFreeSpace. Вам необходимо создать свой собственный класс, который реализует этот интерфейс, а затем использовать какой-то механизм, например, опрос, основанный на таймерах, для регулярного проверки IsolStorageFile.AvailableFreeSpace и отражения изменений в собственном свойстве AvailableFreeSpace. Лично я буду запускать все вызовы записи в изолированное хранилище через пользовательский класс, который будет проверять свободное пространство после операции записи и сообщать об этих изменениях в класс, который вы создали, с помощью собственного свойства AvailableFreeSpace, чтобы запустить событие PropertyChanged, когда это произойдет использования таймера для периодической проверки.
Thanks JC. То, что вы предлагаете, имеет смысл. Я надеялся, что это будет проще ... – 2009-07-28 23:03:21