2014-09-04 40 views
8

'daki denetimlerin genişliğini ayarlama iPad uygulamasının Xamarin.Forms içindeki metin kutusu [Giriş] denetiminin genişliğini & ayarlamaya çalıştım ancak WidthRequest özelliğini kullanarak genişliği ayarlamıyor.Xamarin.Forms

Kontrollerin genişliğinin nasıl ayarlanacağı ile ilgili olarak herkes bana yardımcı olabilir.

İşte Grid & StackLayout kullanarak benim için XAML kodumu, ancak bunların hiçbiri çalıştı.

<Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" > 
    <Grid.RowDefinitions> 
    <RowDefinition Height="Auto" ></RowDefinition> 
    <RowDefinition Height="*"></RowDefinition> 
    <RowDefinition Height="10"></RowDefinition> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 

    <Image Grid.Row="0" Grid.Column="0" Source="loginlogo.png"></Image> 
    <StackLayout Grid.Row="1" Grid.Column="0"> 
    <Entry Placeholder="Enter Username" WidthRequest="20"></Entry> 
    <Entry Placeholder="Enter Password" WidthRequest="20"></Entry> 
    <Button Text="Button 1"></Button> 
    </StackLayout> 
    </Grid> 

Ayrıca oto- deneyecek gibi bu bir StackLayout üzerinde çalışmaya almak için WidthRequest ileHorizontalOptions belirtmek zorunda Stack Düzeni

<StackLayout Spacing="10"> 
    <Entry x:Name="txtUserName" Placeholder="Enter Username" WidthRequest="2" HeightRequest="200"></Entry> 
    <Entry x:Name="txtPassword" Placeholder="Enter Password" WidthRequest="2" HeightRequest="200"></Entry> 
    <Button Text="Button 1"></Button></StackLayout> 

cevap

24

Not ile çalıştı varsayılan olarak genişlet. aralıklarda, yatay/düşey amaç ve altlık kombinasyonu ile

 StackLayout objStackLayout = new StackLayout() 
     { 
      Spacing = 10 
     }; 
     // 
     Entry objEntry1 = new Entry() 
     { 
      Placeholder = "Enter Username", 
      WidthRequest = 300, 
      HeightRequest = 200, 
      HorizontalOptions = LayoutOptions.Start 
     }; 
     objStackLayout.Children.Add(objEntry1); 
     // 
     Entry objEntry2 = new Entry() 
     { 
      Placeholder = "Enter Password", 
      WidthRequest = 200, 
      HeightRequest = 200, 
      HorizontalOptions = LayoutOptions.Start 
     }; 
     objStackLayout.Children.Add(objEntry2); 
     // 
     Button objButton1 = new Button() 
     { 
      Text = "Button1", 
      HorizontalOptions = LayoutOptions.Start 
     }; 
     objStackLayout.Children.Add(objButton1); 
+0

Teşekkürler @Pete. Bu benim için çalıştı. –

6

kullanımı StackLayout -:

Örnek için aşağıdaki StackLayout gösterilmiştir. Örnek:

<StackLayout Padding="20" Spacing="10"> 
    <Entry Placeholder="Username" 
     VerticalOptions="Start" 
     HorizontalOptions="FillAndExpand" /> 

    <Entry Placeholder="Password" 
     VerticalOptions="Start" 
     HorizontalOptions="FillAndExpand" /> 

    <Button Text="Submit" VerticalOptions="EndAndExpand" /> 
</StackLayout> 
İlgili konular