FrameworkElement.BaseUri Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает универсальный код ресурса (URI), представляющий базовый универсальный код ресурса (URI) для созданного в XAML объекта во время загрузки XAML. Это свойство полезно для разрешения универсального кода ресурса (URI) во время выполнения.
public:
property Uri ^ BaseUri { Uri ^ get(); };
Uri BaseUri();
public System.Uri BaseUri { get; }
var uri = frameworkElement.baseUri;
Public ReadOnly Property BaseUri As Uri
Значение свойства
Базовый универсальный код ресурса (URI) для объекта во время загрузки XAML.
Примеры
В этом примере используется BaseUri в обработчике событий, который сбрасывает источник образа в резервную копию или по умолчанию. BaseUri используется для части "пути" нового универсального идентификатора ресурса (URI), который используется для вызова конструктора BitmapImage . Остальная часть универсального кода ресурса (URI) указывает на файл изображения, который приложение имеет в своих ресурсах. Чтобы просмотреть этот код в контексте, см. пример CameraCaptureUI.
void SDKSample::Page::Reset_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
rootPage->NotifyUser("The photo will be shown here.", NotifyType::StatusMessage);
ResetButton->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
CapturedPhoto->Source = ref new BitmapImage(ref new Windows::Foundation::Uri(BaseUri->AbsoluteUri, "Assets/placeholder-sdk.png"));
// Remove file from Application Data
appSettings->Remove("capturedPhoto");
}
private void Reset_Click(object sender, RoutedEventArgs e)
{
ResetButton.Visibility = Visibility.Collapsed;
CapturedPhoto.Source = new BitmapImage(new Uri(this.BaseUri, "Assets/placeholder-sdk.png"));
// Clear file path in Application Data
appSettings.Remove(photoKey);
}
Private Sub Reset_Click(sender As Object, e As RoutedEventArgs)
ResetButton.Visibility = Visibility.Collapsed
CapturedPhoto.Source = New BitmapImage(New Uri(Me.BaseUri, "Assets/placeholder-sdk.png"))
' Clear file path in Application Data
appSettings.Remove(photoKey)
End Sub
Комментарии
Средство синтаксического анализа XAML может оценивать ссылки на ресурсы на основе контекста объекта на странице и таким образом оценивать, что представляется частичными путями в свойстве универсального кода ресурса (URI). Для кода во время выполнения правила определения для типов универсального кода ресурса (URI) не допускают частичные пути. Во время выполнения можно использовать BaseUri из область объекта, созданного путем синтаксического анализа страницы XAML, чтобы получить часть "пути" универсального идентификатора ресурса (URI), а затем заполнить универсальный код ресурса (URI) ссылкой на конкретный ресурс.
Примечания для предыдущих версий
Windows 8. В Windows 8 URI, возвращаемый BaseUri из частей стиля или шаблона, может возвращать значения, представляющие проект по умолчанию, а не значение, конкретное для XAML-файла, создавшего объект. Поведение BaseUri было исправлено, начиная с Windows 8.1. Но если вы полагались на предыдущее поведение BaseUri и изменили композиции XAML или поиск ресурсов из-за этого, вам может потребоваться изучить области кода, которые вызывают BaseUri. Убедитесь, что объединенный универсальный код ресурса (URI), используемый для поиска ресурсов или сведений о локализации, работает должным образом при повторной компиляции приложения для Windows 8.1. Приложения, которые скомпилированы для Windows 8, но выполняются в Windows 8.1, продолжают использовать правила, действующие в Windows 8.