Xamarin Forms:无法在网格中对齐 Frame/Entry 和 Button
Xamarin Forms: Can't align Frame/Entry and Button in a grid
我在条目周围有一个框架,在网格中有一个按钮。但是,我无法让 frame/entry 在按钮旁边填满或居中。
这是我的 xaml:
<StackLayout>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Frame Grid.Column="0" BorderColor="{DynamicResource PrimaryColor}" CornerRadius="5" IsClippedToBounds="True"
Padding="0" Margin="10,10,5,5" VerticalOptions="CenterAndExpand" HasShadow="False">
<Entry x:Name="queryEntry" Text="{Binding QueryString}" FontSize="{DynamicResource StandardLabelFontSize}"
Placeholder="Search string" ReturnType="Search" ClearButtonVisibility="WhileEditing"
VerticalOptions="CenterAndExpand" AutomationId="TextSearchEntry" BackgroundColor="#F0F0F0"/>
</Frame>
<Button Grid.Column="1" Text="Find" Command="{Binding FindTextCommand}" Margin="0,10,10,0" WidthRequest="80"
Padding="0" IsEnabled="{Binding QueryString, Converter={StaticResource NonEmptyStringValue}}"
VerticalOptions="Center"/>
</Grid>
<Label Text="No Results Found." HorizontalTextAlignment="Center" IsVisible="{Binding WereNoResultsFound}"/>
<ScrollView>
<CollectionView ItemsSource="{Binding Items}" SelectionMode="None" >
<CollectionView.ItemTemplate>
这是它在 iOS 上的布局:
如果您注意到两个控件都从行的顶部开始,但按钮更高。我想让它们都自动成为相同的高度。我尝试了许多不同的设置,但似乎无法正常工作。我提前感谢任何人的帮助。
试试这个,按钮 HeightRequest="35"
和框架 Margin="10,15,5,5"
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Frame Grid.Column="0" BorderColor="Blue" CornerRadius="5" IsClippedToBounds="True"
Padding="0" Margin="10,15,5,5" VerticalOptions="CenterAndExpand" HasShadow="False">
<Entry x:Name="queryEntry" Text="FInd" FontSize="Medium"
Placeholder="Search string" ReturnType="Search" ClearButtonVisibility="WhileEditing"
VerticalOptions="CenterAndExpand" AutomationId="TextSearchEntry" BackgroundColor="#F0F0F0"/>
</Frame>
<Button Grid.Column="1" Text="Find" Margin="0,10,10,0" WidthRequest="80" HeightRequest="35"
Padding="0" BackgroundColor="Blue"
VerticalOptions="Center"/>
</Grid>
我在条目周围有一个框架,在网格中有一个按钮。但是,我无法让 frame/entry 在按钮旁边填满或居中。
这是我的 xaml:
<StackLayout>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Frame Grid.Column="0" BorderColor="{DynamicResource PrimaryColor}" CornerRadius="5" IsClippedToBounds="True"
Padding="0" Margin="10,10,5,5" VerticalOptions="CenterAndExpand" HasShadow="False">
<Entry x:Name="queryEntry" Text="{Binding QueryString}" FontSize="{DynamicResource StandardLabelFontSize}"
Placeholder="Search string" ReturnType="Search" ClearButtonVisibility="WhileEditing"
VerticalOptions="CenterAndExpand" AutomationId="TextSearchEntry" BackgroundColor="#F0F0F0"/>
</Frame>
<Button Grid.Column="1" Text="Find" Command="{Binding FindTextCommand}" Margin="0,10,10,0" WidthRequest="80"
Padding="0" IsEnabled="{Binding QueryString, Converter={StaticResource NonEmptyStringValue}}"
VerticalOptions="Center"/>
</Grid>
<Label Text="No Results Found." HorizontalTextAlignment="Center" IsVisible="{Binding WereNoResultsFound}"/>
<ScrollView>
<CollectionView ItemsSource="{Binding Items}" SelectionMode="None" >
<CollectionView.ItemTemplate>
这是它在 iOS 上的布局:
如果您注意到两个控件都从行的顶部开始,但按钮更高。我想让它们都自动成为相同的高度。我尝试了许多不同的设置,但似乎无法正常工作。我提前感谢任何人的帮助。
试试这个,按钮 HeightRequest="35"
和框架 Margin="10,15,5,5"
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Frame Grid.Column="0" BorderColor="Blue" CornerRadius="5" IsClippedToBounds="True"
Padding="0" Margin="10,15,5,5" VerticalOptions="CenterAndExpand" HasShadow="False">
<Entry x:Name="queryEntry" Text="FInd" FontSize="Medium"
Placeholder="Search string" ReturnType="Search" ClearButtonVisibility="WhileEditing"
VerticalOptions="CenterAndExpand" AutomationId="TextSearchEntry" BackgroundColor="#F0F0F0"/>
</Frame>
<Button Grid.Column="1" Text="Find" Margin="0,10,10,0" WidthRequest="80" HeightRequest="35"
Padding="0" BackgroundColor="Blue"
VerticalOptions="Center"/>
</Grid>