【发布时间】:2019-08-17 02:00:47
【问题描述】:
如果我将项目添加到列表视图,则会添加项目但不显示图像。我必须重新启动应用程序才能查看它。
项目已正确添加,但图像不可见。
这里是cs。
ObservableCollection<Libreria> items = new ObservableCollection<Libreria>(new Libreria().GetLibrerie());
public Home()
{
InitializeComponent ();
lstLibrerie.ItemsSource = items;
//pickerLibrerie.ItemsSource = new Libreria().GetLibrerie();
}
public void Reload(Libreria newLib)
{
items.Insert(0, newLib);
}
这里是 xaml
<ListView x:Name="lstLibrerie" RowHeight="120">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ScrollView> <!-- left, top, right, bottom -->
<StackLayout Margin="0,20,0,0" Orientation="Horizontal">
<Grid HorizontalOptions="FillAndExpand">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="8*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Image Margin="20,0,0,0" Source="{Binding Icona}" Grid.Column="0" Grid.Row="0" Grid.RowSpan="3" Aspect="AspectFit" HeightRequest="120"></Image>
<Label Text="{Binding Label}" Grid.Column="1" Grid.Row="0" FontAttributes="Bold" />
<Label Text="{Binding DataUltimaApertura}" Grid.Column="1" Grid.Row="1" />
<Label Text="{Binding EtichettaNrOggetti}" Grid.Column="1" Grid.Row="2" />
<BoxView HeightRequest="1" Grid.Row="3" Grid.ColumnSpan="2" Grid.Column="0" HorizontalOptions="FillAndExpand" VerticalOptions="EndAndExpand" Color="Black" />
</Grid>
</StackLayout>
</ScrollView>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
可以帮助我吗?提前致谢
【问题讨论】:
-
尝试在列表视图上将 HasUnevenRows 设置为 true,并取消设置行高。我在 ListView 中发现,除非设置了这些属性,否则当发生会导致列表或单元格发生更改的更改时,它不会调整大小或重绘。
-
感谢 max hamptom,但问题仍然存在。
-
Libreria 上的 Icona 属性是什么类型?
-
Icona 字段是一个字符串
-
您在视单元中有滚动视图?这是一个有趣的方法。您是否尝试过删除它并让他堆叠布局?
标签: image listview xamarin.forms xamarin.forms.listview