sendBroadcast(new Intent(
Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
Этот код работает, но он очень дорогой. Размонтирует & amp; затем монтирует SDCard, что может повлиять на некоторые приложения или потребовать огромные системные ресурсы для обновления галереи. Я все еще ищу лучшую альтернативу & amp; опубликую, если я получу один.
Я полагаю, вы имели в виду DependencyProperty.Register и DependencyProperty.RegisterAttached.
DependencyProperty.Register используется для регистрации обычного DependencyProperty. Вы можете рассматривать их как обычные свойства с добавленной особенностью, заключающейся в том, что они могут участвовать в привязке данных, анимации и т. Д. WPF. Фактически, они отображаются как обычные свойства (с методами доступа get и set) поверх нетипизированного DependencyObject.SetValue / GetValue. Вы объявляете их как часть вашего типа.
С другой стороны, присоединенные свойства отличаются. Они предназначены как система расширяемости. Если вы когда-либо использовали расширители в Windows Forms, они похожи. Вы объявляете их как часть типа для использования в другом типе.
Они часто используются для информации, связанной с компоновкой. Например, Canvas нужны координаты Left / Top, Grid нужны Row и Column, DockPanel нужна информация Dock и т. Д. Было бы беспорядком, если бы все это нужно было объявить для каждого Control, который можно разложить. Таким образом, они объявляются на соответствующей панели, но используются в любом элементе управления.
Вы можете использовать то же самое для присоединения любой информации к DependencyObject, если вам нужно. Может оказаться полезным просто объявить часть информации, которую вы можете установить в xaml, чтобы использовать ее позже, например, в стиле для существующего класса.
Итак, эти два типа DependencyProperty служат совершенно разным целям. Обычные свойства (зарегистрированные с помощью Register ()) используются так же, как обычные свойства, как часть интерфейса вашего типа.
Разница между DependencyProperty.Register () и DependencyProperty.RegisterAttached () заключается в том, что .Register () используется для регистрации «обычного» свойства зависимости в DependencyObject, а .RegisterAttached () - используется для установки «присоединенного» свойства зависимости.
Разница между двумя типами свойств зависимости достаточно проста: обычные свойства зависимости устанавливаются для конкретного DependencyObject, как и любое другое свойство .NET. Присоединенные свойства, с другой стороны, связаны с конкретным DependencyObject (например, Grid), но устанавливаются на полностью отдельный DependencyObject, часто дочерний объект DependencyObject, который определяет присоединенное свойство (например, Grid.Row, присоединенное свойство, устанавливается на дочерних элементах родительской Grid).