이것은 매우 광범위한 질문이다, 그래서 다른 보기 시나리오에서 고려해야 할 몇 가지 사항이 있습니다 : -
당신은 HorizontalOptions를 사용할 수는 및 VerticalOptions 보기 개체의 특성이에 도움, 즉 는 LayoutOptions.FillAndExpand 또는 LayoutOptio ns.CenterAndExpand 등
예 - 당신은 HeightRequest과 보기에 WidthRequest 이 폭 및 높이을 통해 보기 예약 할 수있는 지역으로 환경 설정을 표시하기 위해 지정할 수 있습니다 레이아웃 (보장되지는 않지만) 사용 된 다른 레이아웃 컨트롤/뷰에 따라 다릅니다. 우리가 라벨 제어에 구체적으로 이야기하는 경우
, 이것은 당신이 생각 지정한 부모 보기에 맞게, 사용되는 특정 라벨 글꼴 크기, 텍스트 크기를 확대하지 않습니다. 이를 위해 당신이에서 사용되는 컨테이너에 라벨의 크기를 조절하는 데 적절하게 규모 속성을 설정해야합니다
업데이트 1 : -.
를 다음 예제 코드를 사용하여, 표시되는 레이블 높이 텍스트에 맞게 높이가 이미 자동으로 변경 되었습니까?
StackLayout cobjStackLayout = new StackLayout()
{
Orientation = StackOrientation.Vertical
};
Label objLabel1 = new Label();
objLabel1.BackgroundColor = Color.Red;
objLabel1.Text = "This is a label";
cobjStackLayout.Children.Add(objLabel1);
Label objLabel2 = new Label();
objLabel2.BackgroundColor = Color.Green;
objLabel2.Text = "This is another label with different font size";
objLabel2.Font = Font.OfSize("Arial", 48);
cobjStackLayout.Children.Add(objLabel2);
this.Content = cobjStackLayout;
업데이트 2 : - 예 - 당신은 그냥 한라벨을 사용하는 경우 ContentPage의 끝에 수직으로 예기치 않은 충전, 즉 발생하고있다.
당신이하려고하면 당신이 단지 1 라벨을 사용하여, 이후에 무엇인가, 단지 텍스트 주위에, 경험해야 다음 -
cobjStackLayout = new StackLayout()
{
Orientation = StackOrientation.Horizontal,
VerticalOptions = LayoutOptions.Start
};
Label objLabel1 = new Label();
objLabel1.BackgroundColor = Color.Red;
objLabel1.Text = "This is a label";
cobjStackLayout.Children.Add(objLabel1);
this.Content = cobjStackLayout;
업데이트 3 : - 여기
입니다 HorizontalOptions/VerticalOptions를 설정하기 위해 부모를 사용하지 않는 버전이기 때문에 계층 구조의 다른 부분에 지정된 LayoutOptions가 출력에 영향을 미친다는 점을 조금 더 분명하게 알 수 있습니다. -
012 3,516, cobjStackLayout = new StackLayout()
{
Orientation = StackOrientation.Horizontal,
};
Label objLabel1 = new Label();
objLabel1.BackgroundColor = Color.Red;
objLabel1.Text = "This is a label";
objLabel1.HorizontalOptions = LayoutOptions.Start;
objLabel1.VerticalOptions = LayoutOptions.Start;
cobjStackLayout.Children.Add(objLabel1);
this.Content = cobjStackLayout;
은 때때로 당신이 원하는 효과를 얻기 위해 제어에 관심이되는 보기에 HorizontalOptions 또는 VerticalOptions을 설정하기 위해 충분하지 기억하십시오.
내 질문에 오해 하셨을 것입니다. 부모 내에서 하위 뷰를 확장하고 싶지 않습니다. 나는 단지 자신의 레이블이 텍스트보다 정확히 높을 것을 원한다. – kaolick
의견에 따라 추가 정보/코드를 포함하도록 답을 편집했습니다. – Pete
하나의'Label'만으로 그것을 시도하고'StackLayout'의 방향을 수평으로 변경하십시오. 내가 무슨 뜻인지 알게 될거야. 레이블은 전체 화면을 채 웁니다. 그러나 텍스트 만 감싸기를 원합니다. – kaolick