FrameworkElement.BaseUri 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取统一资源标识符 (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 行为。