Создать пользовательский фрейм в формах xamarin - PullRequest
0 голосов
/ 25 октября 2019

enter image description here

Мне нужно создать рамку, как на прилагаемой фотографии, дело в том, что она должна быть адаптируемой, поскольку она будет содержать метки / тексты, а также должнаиметь высоту и тень. Все, что легко сделать с рамкой, проблема в том, что речь мало, я не могу найти способ сделать это.

Может быть, у кого-то есть идея начать с. спасибо

1 Ответ

0 голосов
/ 25 октября 2019

Вы можете связать Высота и Ширина кадра с его дочерним элементом (как метка).

в коде позади

public class SizeConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return ((double)value + 20.0); // you can set the logic of height and width here  
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return 0;
    }
}

в xaml

<ContentPage.Resources>
    <ResourceDictionary>
        <local:SizeConverter x:Key="SizeConverter" />
    </ResourceDictionary>
</ContentPage.Resources>

<StackLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
    <Frame CornerRadius="10" WidthRequest="{Binding Source={x:Reference contentLabel}, Path=Width,Converter={StaticResource SizeConverter} ,Mode=OneWay}" MinimumHeightRequest="100" HeightRequest="{Binding Source={x:Reference contentLabel}, Path=Height,Converter={StaticResource SizeConverter} ,Mode=OneWay}" BackgroundColor="LightBlue" Padding="10" >
        <!-- Place new controls here -->
        <Label x:Name="contentLabel"  BackgroundColor="LightGray" Text="xxx" 
       HorizontalOptions="Center"
       VerticalOptions="CenterAndExpand" />
    </Frame>
</StackLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...