Xamarin表单 - 使用OnIdiom在轮播页面中设置图像

时间:2018-03-22 11:53:50

标签: xaml xamarin.forms

查看下面的XAML(这是旋转木马页面的摘录),有没有办法使用OnIdiom将图像gl_CarouselIndicator设置为手机和平板电脑的不同内容?

我多次使用OnIdiom,但我不确定在这种情况下我将如何构建它。

感谢

<local:SwipePageContent
            BackgroundImage="CRM.png" IconColor="#FFF" gl_CarouselIndicator="CarousellCounter1.png" 
            Header="{ artina:Translate page1Header }" 
            Text="{ artina:Translate page1Description }" 
            TextLine2="{ artina:Translate page1Text }" 
            PageIndex="0" />

2 个答案:

答案 0 :(得分:0)

原来很简单,我只是在代码隐藏中设置它

if(Device.Idiom == TargetIdiom.Phone)
{
       Page1.gl_CarouselIndicator = "CarouselCounterSmall.png";
}
else
{
        Page1.gl_CarouselIndicator = "CarousellCounter1.png";
}

答案 1 :(得分:0)

使用设备品牌设置图像源并在xmal文件中键入:

<Image 
  VerticalOptions="FillAndExpand"
  BackgroundColor="White"
  Aspect="AspectFit">

    <Image.Source>      
      <OnIdiom x:TypeArguments="ImageSource">
          <OnIdiom.Phone>
            <OnPlatform x:TypeArguments="ImageSource"
                          iOS="logo.png"
                          Android="logo.png"
                          WinPhone="logo.png" />
          </OnIdiom.Phone>
          <OnIdiom.Tablet>
            <OnPlatform x:TypeArguments="ImageSource"
                          iOS="logo_iPad.png"
                          Android="logo.png"
                          WinPhone="logo.png" />
          </OnIdiom.Tablet>
      </OnIdiom>
    </Image.Source>