我目前无法在我为UWP的布局中提高孩子的看法,但它适用于Android。(相同的代码只需更改图像源)任何一种灵魂都可以帮助我解决这个问题?
下面的代码应显示2个图像和2个按钮。当我测试图像是否会成功提高时,图像相互重叠。在Android上,它可以很好地工作,但是在UWP上效果不佳,我不确定我可能错过了什么,因为PCL应该很常见,因此代码应在两个平台上使用。
。以下是我的代码:
mainpage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:UWPRaiseTest"
x:Class="UWPRaiseTest.MainPage">
<ContentView>
<StackLayout Orientation="Vertical" BackgroundColor="Violet" x:Name="EntireLayout" IsEnabled="True">
<RelativeLayout x:Name="ImageHolder" IsEnabled="True">
<Image x:Name="Img1" Source="Assets/StoreLogo.png" BackgroundColor="AliceBlue" IsEnabled="True"
RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0,Constant=100}"
RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0, Constant=0}" />
<Image x:Name="Img2" Source="Assets/StoreLogo.png" BackgroundColor="Red" IsEnabled="True"
RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0,Constant=120}"
RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0, Constant=0}" />
</RelativeLayout>
<Button x:Name="RaiseObj1" BackgroundColor="Aquamarine" Text="Raise image 1 " Clicked="RaiseObj1_OnClicked" />
<Button x:Name="RaiseObj2" BackgroundColor="Aquamarine" Text="Raise image 2" Clicked="RaiseObj2_OnClicked"/>
</StackLayout>
</ContentView>
</ContentPage>
mainpage.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace UWPRaiseTest
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void RaiseObj1_OnClicked(object sender, EventArgs e)
{
ImageHolder.RaiseChild(Img1);
ImageHolder.LowerChild(Img2);
EntireLayout.RaiseChild(Img1);
}
private void RaiseObj2_OnClicked(object sender, EventArgs e)
{
ImageHolder.RaiseChild(Img2);
EntireLayout.RaiseChild(Img2);
ImageHolder.LowerChild(Img1);
}
}
}
这是在2.4.0预发行构建中修复的。您可以在此处参考最初提交的错误。