Xamarin.Forms ImageButton显示问题

时间:2015-10-14 20:36:20

标签: xamarin xamarin.forms

我正在尝试在StackLayout中使用ImageButton,并尝试将按钮的文本设置为在图像下方设置。但是,文本始终显示在图像的右侧而不是下方。这是代码:

<?xml version="1.0" encoding="utf-8" ?>
<StackLayout x:Class="MyApp.Portable.Controls.MyNavigationControl"
             xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:controls="clr-namespace:XLabs.Forms.Controls;assembly=XLabs.Forms"
             xmlns:forms="clr-namespace:Xamarin.Forms;assembly=Xamarin.Libraries.PCL"
             x:Name="MyNavControl"
             BackgroundColor="White"
             HorizontalOptions="FillAndExpand"
             MinimumHeightRequest="75"
             Orientation="Horizontal">
  <StackLayout.Resources>
    <ResourceDictionary>
      <Style x:Key="NavButtonStyle" TargetType="Button">
        <Setter Property="BackgroundColor" Value="White" />
        <Setter Property="TextColor" Value="Gray" />
        <Setter Property="FontSize" Value="7" />
      </Style>
    </ResourceDictionary>
  </StackLayout.Resources>
  <forms:ImageButton x:Name="GpsButton"
                        Clicked="GpsBUttonClicked"
                        Image="GPS_Icon_Light_Gray_sm.png"
                        MinimumHeightRequest="75"
                        Orientation="ImageOnBottom"
                        Style="{StaticResource NavButtonStyle}"
                        Text="GPS"
                        VerticalOptions="Start" />
<StackLayout>

1 个答案:

答案 0 :(得分:0)

如果您还没有找到,请回答您的问题。问题是使用不正确的属性来设置图像。 ImageButton.Image属性将显示图像,但它不会遵循任何其他设置属性,例如ImageButton.Orientation。要解决您的问题,您必须设置ImageButton.Source属性。

可以在此处找到更多信息:https://github.com/XLabs/Xamarin-Forms-Labs/issues/235