如何使UWP应用程序与每个目标版本兼容



我已经创建了自定义控件。我已经对代码进行了更改,通过设置XamlRoot来修复AppWindow中的问题。但我的问题是XamlRoot只能在最新版本中使用。

因此,我将源目标版本更改为最新版本。当我使用相同版本的自定义控件创建UWP应用程序时,它运行良好。但是,当UWP项目版本有一个较低的目标版本(不支持XamlRoot(时,我有一个例外:

未找到方法

我已经检查了只有在targetversion更高时才执行XamlRoot代码的条件。但它不起作用。我尝试过ApiInformation,但它也没有用,因为这只是为了使UWP应用程序与每个设备兼容,而不依赖于应用程序的TargetVersion。

请参阅下面的代码,我使用它来修复弹出中的问题

popUp.XamlRoot = this.CustomControl.XamlRoot

我已经将customcontrol的xamlroot设置为弹出窗口的xamlroot。因此,现在弹出窗口将在customcontrol中打开。

请参阅github链接。

https://github.com/microsoft/microsoft-ui-xaml/issues/4676

有什么办法解决这个问题吗?

基于XamlRoot类,它需要Windows 10 1903或更高版本。在较低版本的UWP中找不到此对象。您必须将最小版本设置为1903,以避免编译问题。

最新更新