c# - listview 中的 ImageButton 错误(添加项目时变小)
问题描述
我使用项目模板制作了列表视图,当我单击 AddButton 并将项目添加到此列表时,此模板中的图像按钮变小了。
它应该看起来像 https://drive.google.com/open?id=1e8BTXzPDhcbhsRO7Jqo7UB08VRfspcaO
它看起来像 https://drive.google.com/open?id=1fHpveogjKiYLYbZE0WsXhRv9_ah50XMP
我的列表视图:
<ListView x:Name="ThisList" HeightRequest="100" RowHeight="45">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="40"/>
</Grid.ColumnDefinitions>
<TimePicker Grid.Column="0" HorizontalOptions="Center" FontFamily="{StaticResource MTBfont}" Time="{Binding time}"/>
<ImageButton Source="{Binding img}" Grid.Column="1" HorizontalOptions="Center" BackgroundColor="Transparent" Clicked="ProfileD_Clicked"/>
<ImageButton IsVisible="{Binding visible}" Source="deleteicon.png" Grid.Column="2" MinimumWidthRequest="30" WidthRequest="30" HorizontalOptions="Center" BackgroundColor="Transparent" Clicked="DeleteD_Clicked"/>``
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.Footer>
<ImageButton Clicked="AddDButton_Clicked" Source="button_add.png" WidthRequest="50" VerticalOptions="Center" HorizontalOptions="Center" BackgroundColor="Transparent"/>
</ListView.Footer>
</ListView>
我的添加按钮代码:
private void AddDButton_Clicked(object sender, EventArgs e)
{
ItemD.Add(new SchamatListItem(){
img = "eco.png",
time = ItemD[ItemD.Count() - 1].time + TimeSpan.FromHours(1),
visible = true,
index = counterD
});
counterD++;
ThisList.HeightRequest = ThisList.HeightRequest + 45;
}
我的解决方案我认为这不是最好的,但它确实有效。
<Image IsVisible="{Binding visible}" Source="deleteicon.png" Grid.Column="2" MinimumWidthRequest="30" WidthRequest="30" HorizontalOptions="Center" BackgroundColor="Transparent">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="DeleteD_Clicked" NumberOfTapsRequired="1"/>
</Image.GestureRecognizers>
</Image>
解决方案
尝试从图像按钮中删除背景颜色属性。它是一个现有的错误 - https://github.com/xamarin/Xamarin.Forms/issues/4510
推荐阅读
- html-table - 在 reStructuredText 的 Sphinx 处理中保留表格单元格换行符
- image-capture - Ecapture 模块未安装在 Python 3.9.1 中
- excel - VBA 与不同工作簿中的相同命名范围混淆
- r - 由于特定的正则表达式,如何使用 mutate(across()) 更改列?
- android - 有时,BottomSheetDialogFragment 在屏幕中心打开,如警报对话框
- esp32 - esp smartconfig 发生了什么,在 v4.1 中是一团糟?
- python - 如何在 Python 中创建一个有效的函数来填充因子 (t+1)
- bash - 即使在 If 块中,Makefile 也会引发错误
- javascript - if 语句在 for 循环中如何工作?
- python-3.x - 为多个 PDF 运行 Python pgm