>
Xamarin.Form 내  페이지, 나는 FontSize 를 바인딩하려고합니다  동일한 라벨의 높이까지 라벨의

WPF에서 이렇게하는 예제를 보았습니다 :

FontSize="{Binding ElementName=CurrentPresenter, Path=Height}"

그러나 양식에서 이와 같이 작동하는 것을 얻을 수없는 것 같습니다.

<Label
    Text="X"
    FontSize="{Binding ElementName=CurrentPresenter, Path=RequestedHeight}"
    HorizontalTextAlignment="Center"
    AbsoluteLayout.LayoutBounds="0.1, 0.5, 0.33, 0.66"
    AbsoluteLayout.LayoutFlags="All" />

(데이터 DPI를 사용하여 화면 DPI를 기반으로 글꼴 크기를 조정하고 자동 조정할 수는 있지만 지금은 기본 시스템 이외의 것을 얻기 위해 컨트롤 높이에 바인딩하려고합니다. 글꼴 크기)

  • 답변 # 1

    이 방법은 잘 작동하는 것으로 보이지만 런타임 레이아웃 성능에 대해서는 확실하지 않습니다 ...

    FYI : XAML Designer 내에서는 작동하지 않으며 런타임 만 가능합니다

    <Label
        Text="X"
        x:Name="foo"
        BindingContext="{x:Reference Name=foo}"
        FontSize="{Binding Path=Height}"
        HorizontalTextAlignment="Center"
        AbsoluteLayout.LayoutBounds="0.1, 0.5, 0.33, 0.66"
        AbsoluteLayout.LayoutFlags="All" />
    
    

  • 답변 # 2

    OP 질문과 정확히 관련이 없지만 "다른 컨트롤을 기반으로 한 Xaml 높이"를 검색하면 Google에서 결과가 거의 없으므로 다른 사람에게 도움이되는 경우이를 게시합니다.

    다음 그림과 같이 작은 버튼의 크기를 큰 버튼의 크기와 일치하도록 변경하려면

    코드를 사용하지 않고이를 수행하는 방법은 여러 가지가 있지만 사용하려는 레이아웃이 어려운 경우 다른 옵션이 있습니다. 컨트롤의 바인딩을 변경하지 않고 작은 버튼의 크기를 변경하려면 XAML에서 버튼 이름을 지정한 다음 코드에서 다음과 같이 할 수 있습니다.

       public HomeOpenPage ()
        {            
            InitializeComponent ();
            RefreshButton.PropertyChanging += RefreshButton_PropertyChanging;
        }
        private void RefreshButton_PropertyChanging(object sender, PropertyChangingEventArgs e)
        {
            if (RefreshButton.Width != -1)
            {
                var width = RefreshButton.Width;
                CSVButton.WidthRequest = width;
                EndButton.WidthRequest = width;
            }
        }
        protected override void OnDisappearing()
        {
            RefreshButton.PropertyChanging -= RefreshButton_PropertyChanging;
            base.OnDisappearing();  
        }
    
    

관련 자료

  • 이전 html - Windows 로고 키 + 왼쪽/오른쪽 화살표를 사용하는지 여부에 따라 페이지에서 동일한 위치에 div를 유지하는 방법
  • 다음 dataframe - rhandsontable r 패키지를 사용하여 편집 한 내용을 저장하는 방법