gpt4 book ai didi

xamarin - 如何将可观察集合绑定(bind)到 xamarin 中的 flexlayout?

转载 作者:行者123 更新时间:2023-12-03 16:37:18 27 4
gpt4 key购买 nike

我需要将 ObservableCollection View 绑定(bind)到 FlexLayout(因为我需要
自定义外观)。当我将项目绑定(bind)到 CollectionView 时,它们不会
与直接在 FlexLayout 中使用网格时得到的外观相同,因为
例子:

当然,这可以按预期工作,但没有约束力。

<FlexLayout Grid.Row="5"
Grid.Column="0"
Margin="10,15,10,5"
HorizontalOptions="FillAndExpand"
VerticalOptions="StartAndExpand">
<Grid Margin="0,0,0,6"
HeightRequest="20">
<Frame Padding="2"
BackgroundColor="#f1f1f1"
CornerRadius="5">
<Label Grid.Row="0"
Grid.Column="1"
FontSize="11"
Text="some text"
TextColor="DarkGray" />
</Frame>
</Grid>
</FlexLayout>

这里一切正常,但外观就像一个 ListView:

在后面的代码中:
xEspecialidades.ItemsSource = StringCollection;

在 XAML 中:

<FlexLayout Grid.Row="5"
Grid.Column="0"
Margin="10,15,10,5"
HorizontalOptions="FillAndExpand"
VerticalOptions="StartAndExpand">
<CollectionView x:Name="xEspecialidades"
x:FieldModifier="public static"
HorizontalOptions="FillAndExpand"
HorizontalScrollBarVisibility="Never"
VerticalOptions="StartAndExpand"
VerticalScrollBarVisibility="Never">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Margin="0,0,0,6"
HeightRequest="20">
<Frame Padding="2"
BackgroundColor="#f1f1f1"
CornerRadius="5">
<Label Grid.Row="0"
Grid.Column="1"
FontSize="11"
Text="{Binding .}"
TextColor="DarkGray" />
</Frame>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</FlexLayout>

我找到了这个帖子 https://github.com/xamarin/Xamarin.Forms/issues/8234
但无法使其工作。 Visual Studio 一直说 FlexItemsLayout
没有找到。有没有办法做我想做的事?

最佳答案

使用下面的代码让它工作:

<FlexLayout x:Name="xEspecialidades"
BindableLayout.ItemsSource="{Binding especialidades}"
HorizontalOptions="FillAndExpand"
VerticalOptions="StartAndExpand">
<BindableLayout.ItemTemplate>
<DataTemplate>
<Grid Margin="0,0,0,6"
HeightRequest="20"
HorizontalOptions="StartAndExpand">
<Frame Padding="2"
BackgroundColor="#f1f1f1"
CornerRadius="5"
HorizontalOptions="StartAndExpand">
<Label Grid.Row="0"
Grid.Column="1"
FontSize="11"
HorizontalOptions="StartAndExpand"
Text="{Binding .}"
TextColor="DarkGray" />
</Frame>
</Grid>
</DataTemplate>
</BindableLayout.ItemTemplate>
</FlexLayout>

关于xamarin - 如何将可观察集合绑定(bind)到 xamarin 中的 flexlayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60042290/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com