Для GridView
каждый элемент представляет собой GridViewItem
. Изображение может быть скрыто, но GridViewItem
как элемент все еще существует. Они займут свое место.
В вашей ситуации я предлагаю вам использовать набор данных с GridView
для генерации предметов. При необходимости вы можете управлять элементами, отображаемыми с помощью GridView
, изменяя набор данных.
private const string MediaImageUrl = "/images/revisi/new/menu/KS4-level-2-mediaguru-notext.png";
private const string PaketImageUrl = "/images/revisi/new/menu/KS4-level-2-paketabc-black.png";
private const string UmumImageUrl = "/images/revisi/new/menu/KS4-level-2-buku-umum.png";
private ObservableCollection<string> ImageCollection = new ObservableCollection<string>();
public MainPage()
{
this.InitializeComponent();
ImageCollection.Add(UmumImageUrl);
if (((App)(App.Current)).Mode != "Offline")
{
ImageCollection.Insert(0, MediaImageUrl);
ImageCollection.Insert(1, PaketImageUrl);
}
}
<GridView ...
ItemsSource="{x:Bind ImageCollection}">
<GridView.ItemTemplate>
<DataTemplate x:DataType="x:String">
<Image Width="220"
Height="220"
Source="{Binding}" />
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
Если вам нужно удалить изображение в будущем, вы можете напрямую работать с коллекцией :
ImageCollection.Remove(MediaImageUrl);
Спасибо.