Как установить идеальный угловой радиус для изображения внутри XfxCardView в формах xamarin? - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть вид карты, и в этом у меня есть изображение.Я должен установить угловой радиус для этого изображения, поэтому я использую рамки для этого.

Это нужный мне интерфейс, и я пометил изображение

Это результат, который я получаю .

Это мой код

 <xfx:XfxCardView 
                        BackgroundColor="White"
                        CornerRadius="30" 
                    Elevation="30"
                 HeightRequest="100" >
                    <Grid RowSpacing="0">
                        <Grid ColumnSpacing="0">
                            <Grid.RowDefinitions >
                                <RowDefinition Height="*"></RowDefinition>

                                <RowDefinition Height="Auto"></RowDefinition>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions >
                                <ColumnDefinition Width="*"></ColumnDefinition>
                                <ColumnDefinition Width="Auto"></ColumnDefinition>
                            </Grid.ColumnDefinitions>
                            <Frame CornerRadius="10" Margin="0"  Padding="0" IsClippedToBounds="True">
                                <Image Margin="-70,0,0,0"   Source="restaurantimage1.jpg"  Grid.Row="0" Grid.Column="0" Grid.RowSpan="3"/>
                            </Frame>
                            <Label Grid.Row="0" Grid.Column="1" Margin="0,0,100,0" BackgroundColor="Aqua" HorizontalOptions="Start" Text="Premera restaurant" TextColor="Black" FontFamily="Bold,20"/>
                            <Label Grid.Row="1" Grid.Column="1" Margin="0,0,100,0" BackgroundColor="Green" HorizontalTextAlignment="Start" Text="Avenue Road,256" TextColor="Blue"/>
                            <Label Grid.Row="2" Grid.Column="1" Margin="0,0,100,0" BackgroundColor="LightBlue" VerticalTextAlignment="Start" Text="Indian,Italy,Chinese" TextColor="LightGray"/>
                        </Grid>
                    </Grid>
                </xfx:XfxCardView>

Я внес изменения в радиус угла и поля, но не получаю желаемого результата.Должен ли я использовать что-то еще для этого или я должен внести какие-либо изменения в кадр.Я сделал некоторые изменения в коде, и я немного близок к желаемому результату.Это текущий вывод

В кадре все еще есть пробел, как вы видите, я внес изменения в код, но все же это неисправиться.Это мой код

 <xfx:XfxCardView 
                        BackgroundColor="White"
                        CornerRadius="30" 
                    Elevation="30"
                 HeightRequest="100" >
                    <Grid RowSpacing="0">
                        <Grid ColumnSpacing="0">
                            <Grid.RowDefinitions >
                                <RowDefinition Height="*"></RowDefinition>

                                <RowDefinition Height="Auto"></RowDefinition>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions >
                                <ColumnDefinition Width="*"></ColumnDefinition>
                                <ColumnDefinition Width="Auto"></ColumnDefinition>
                            </Grid.ColumnDefinitions>
                            <Frame Margin="0" Padding="-40" CornerRadius="25" Grid.RowSpan="3"  BackgroundColor="LightBlue"  IsClippedToBounds="True">
                                <Image Margin="-70,0,0,0"  Grid.Row="0" Grid.Column="0" Grid.RowSpan="3"  BackgroundColor="AliceBlue"  Source="restaurantimage1.jpg"  />
                            </Frame>
                            <Label Grid.Row="0" Grid.Column="1" Margin="0,0,100,0"  HorizontalOptions="Start" Text="Premera restaurant" TextColor="Black" FontFamily="Bold,20"/>
                            <Label Grid.Row="1" Grid.Column="1" Margin="0,0,100,0"  HorizontalTextAlignment="Start" Text="Avenue Road,256" TextColor="Blue"/>
                            <Label Grid.Row="2" Grid.Column="1" Margin="0,0,100,0"  VerticalTextAlignment="Start" Text="Indian,Italy,Chinese" TextColor="LightGray"/>
                        </Grid>
                    </Grid>
                </xfx:XfxCardView>

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Я исправил это, изменив поле моего кадра.Это мой код сейчас

 <xfx:XfxCardView 
                        BackgroundColor="White"
                        CornerRadius="30" 
                    Elevation="20"
                 HeightRequest="150" IsClippedToBounds="True">
                    <Grid RowSpacing="0" >
                        <Grid ColumnSpacing="0">
                            <Grid.RowDefinitions >
                                <RowDefinition Height="*"></RowDefinition>

                                <RowDefinition Height="Auto"></RowDefinition>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions >
                                <ColumnDefinition Width="*"></ColumnDefinition>
                                <ColumnDefinition Width="Auto"></ColumnDefinition>
                            </Grid.ColumnDefinitions>
                            <Frame Margin="10,10,10,20" Padding="-40" CornerRadius="10" Grid.RowSpan="3"  BackgroundColor="LightBlue"  IsClippedToBounds="True">
                                <Image Margin="-70,0,0,0"  Grid.Row="0" Grid.Column="0" Grid.RowSpan="3"  BackgroundColor="AliceBlue"  Source="restaurantimage1.jpg"  />
                            </Frame>
                            <Label Grid.Row="0" Grid.Column="1" Margin="0,30,30,0"  HorizontalOptions="Start" Text="Premera restaurant" TextColor="Black" FontFamily="Bold,20"/>
                            <Image Grid.Row="0" Grid.Column="1" Margin="0,30,10,0" HorizontalOptions="End" Source="whitehearticon3.jpg"/>
                            <Label Grid.Row="1" Grid.Column="1" Margin="0,-20,40,0"  HorizontalTextAlignment="Start" Text="Avenue Road,256" TextColor="Blue"/>
                            <Label Grid.Row="2" Grid.Column="1" Margin="0,0,40,0"  VerticalTextAlignment="Start" Text="Indian,Italy,Chinese Kitchen" TextColor="LightGray"/>


                        </Grid>
                    </Grid>
                </xfx:XfxCardView>
0 голосов
/ 26 ноября 2018

Попробуйте установить свойство обрезается до границ как истинное в xaml

 <Grid RowSpacing="0" IsClippedToBounds="True">
вашей таблицы.
...