FrameworkElement.BaseUri 属性

定义

获取统一资源标识符 (URI) ,表示 XAML 加载时 XAML 构造对象的基本统一资源标识符 (URI) 。 此属性在运行时用于统一资源标识符 (URI) 解析。

public:
 property Uri ^ BaseUri { Uri ^ get(); };
Uri BaseUri();
public System.Uri BaseUri { get; }
var uri = frameworkElement.baseUri;
Public ReadOnly Property BaseUri As Uri

属性值

在 XAML 加载时,对象的基本统一资源标识符 (URI) 。

示例

此示例在将图像源重置为备份/默认值的事件处理程序中使用 BaseUri。 BaseUri 用于用于位 图图像 构造函数调用的新统一资源标识符 (URI) 的“路径”部分,统一资源标识符 (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) 类型的定义规则不允许部分路径。 在运行时,可以从通过分析 XAML 页面创建的对象的作用域中使用 BaseUri,以便获取统一资源标识符 (URI) 的“路径”部分,然后使用特定资源引用完成统一资源标识符 (URI) 。

以前版本的说明

Windows 8 在 Windows 8 中,BaseUri 从样式或模板部件返回的 URI 可以返回表示项目默认值的值,而不是特定于创建对象的 XAML 文件的值。 从Windows 8.1开始,已更正 BaseUri 行为。 但是,如果依赖于 BaseUri 的先前行为并因此更改了 XAML 组合或资源查找,则可能需要检查进行 BaseUri 调用的代码区域。 验证在为Windows 8.1重新编译应用时,用于查找资源或本地化信息) 组合的统一资源标识符 (URI 是否按预期工作。 对于针对 Windows 8 编译的应用,如果它在 Windows 8.1 上运行,将继续使用 Windows 8 行为。

适用于