2017-12-15 1 views
0

전자 메일 주소를 표시하는 ContentPage이 있습니다. 탐색 스택에 푸시 된 페이지가 열립니다.Xamarin 양식 항목 필드가 iOS에서 화면 크기보다 커야합니다.

var contextToBind = new WorkOrderEMailViewModel(tempBoundItem.No, tempBoundItem.Name, tempBoundItem.Description1); 
var page = new WorkOrderEMailPage() { BindingContext = contextToBind }; 
await Navigation.PushAsync(page); 

오브젝트 WorkOrderEMailViewModel는 메일 adresses를 저장 To라는 속성이 있습니다.

Xaml은 다음과 같이 보입니다. Entry 필드는 메일 주소를 저장합니다.

<StackLayout HorizontalOptions="FillAndExpand" Orientation="Horizontal" > 
    <Entry Text="{Binding BoundItem.To}" HorizontalOptions="FillAndExpand"></Entry> 
    <Button Text="..." VerticalOptions="EndAndExpand" Command="{Binding ListItemsButtonTappedCommand}"></Button> 
</StackLayout> 

그래서 여기서 문제가 시작됩니다. To의 값이 매우 길면 입력 필드가 화면 크기보다 커야하므로 Entry 필드 옆에있는 끝과 단추를 볼 수 없습니다.

다음 스크린 샷을 통해 내가 원하는 것을 분명히 알 수 있습니다. 첫 번째는 Entry입니다.

이것은 짧은 텍스트의 경우와 매우 긴 텍스트의 경우의 모양입니다.

Pic1

는 그리고 이것은 실제로 보이는 방법이다.

Pic2

나는하지만 성공의 HorizontalOption 놀아했습니다.

도움 주셔서 감사합니다.

UPDATE : 내가 xaml에 변경 클린트 랜드에서 추천을 바탕으로

: VerticalOptions = "FillAndExpand"HorizontalOptions의 =의 설정으로 부모 stacklayout에

<Grid> 
    <Grid.RowDefinitions> 
      <RowDefinition Height="40" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*" /> 
      <ColumnDefinition Width="30" /> 
    </Grid.ColumnDefinitions> 
    <Entry Text="{Binding BoundItem.To}" Grid.Row="0" Grid.Column="0"></Entry> 
    <Button Text="..." Command="{Binding ListItemsButtonTappedCommand}" Grid.Row="0" Grid.Column="1"></Button> 
</Grid> 

답변

1

랩 페이지를 " 가득 따르다". 자식을 그리드 (권장) 또는 HorizontalOptions = "Fill"Orientation = "Horizontal"으로 변경하십시오. 전체 xaml은 다른 부모 xaml 태그가이 문제에 영향을 주므로 유용합니다. 당신의 추천에 대한

<StackLayout x:Name="stackContent" VerticalOptions="FillAndExpand" HorizontalOptions="Fill"> 
<StackLayout HorizontalOptions="FillAndExpand" Orientation="Horizontal" > 
    <Entry Text="{Binding BoundItem.To}" HorizontalOptions="FillAndExpand"></Entry> 
    <Button Text="..." VerticalOptions="EndAndExpand" Command="{Binding ListItemsButtonTappedCommand}"></Button> 
</StackLayout> 
</Stacklayout> 
+0

감사합니다. 그리드를 사용하고 질문에 대답을 게시합니다. – Torben

관련 문제