这是我的练习列表,我想在它们之间添加边框,这样客户就不会混淆哪个练习是设备。
我的代码如下。
<StackLayout>
<CollectionView ItemsSource="{Binding AllExerciseTypes}" SelectionMode="Single" BackgroundColor="{StaticResource TheBackgroundColor}" >
<CollectionView.ItemTemplate>
<DataTemplate x:DataType="Models:ExerciseType">
<Grid
Padding="10"
ColumnDefinitions="Auto,*"
RowDefinitions="Auto, *">
<Label
FontSize="Body"
Grid.Column="1"
FontAttributes="Bold"
Text="{Binding Name}" />
<Label
Grid.Row="1"
Grid.Column="1"
FontAttributes="Italic"
Text="{Binding TargetedMuscle}" />
<Label
Text= "{Binding Equipment}"
FontAttributes="Italic"
HorizontalTextAlignment="End"
Grid.Column="2"
Grid.Row="1"/>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</StackLayout>
</ContentPage>
我尝试制作一个框架,其中有网格,但不知道如何做
使用边框来执行此操作,您还可以配置边框
<Border Stroke="#C49B33"
StrokeThickness="4"
StrokeShape="RoundRectangle 40,0,0,40"
Background="#2B0B98">
<Grid/>
</Border
有关边框的详细信息可以在这里找到:https://learn.microsoft.com/en-us/dotnet/maui/user-interface/controls/border?view=net-maui-8.0
此外,如果您不希望出现意外行为,请不要使用 Frame。
我用框架固定了它
<CollectionView.ItemTemplate>
<DataTemplate x:DataType="Models:ExerciseType">
<Frame Padding="0.3" BorderColor="#AC94C9">
<Grid
BackgroundColor="#000000"
Padding="15"
ColumnDefinitions="Auto,*"
RowDefinitions="Auto, *">
<Label
FontSize="Body"
Grid.Column="1"
FontAttributes="Bold"
Text="{Binding Name}" />
<Label
Grid.Row="1"
Grid.Column="1"
FontAttributes="Italic"
Text="{Binding TargetedMuscle}" />
<Label
Text= "{Binding Equipment}"
FontAttributes="Italic"
HorizontalTextAlignment="End"
Grid.Column="2"
Grid.Row="1"/>
</Grid>
</Frame>
</DataTemplate>
</CollectionView.ItemTemplate>