Как получить имя Панорамы-Предмета во время выполнения?
Я программно добавляю элементы в Panorama Control под названием PanoramaCC.
//function to create the panorama items in our view
private void showPanorama(string panoramaName)
{
//create the panorama item and define it
PanoramaItem genItem = new PanoramaItem();
genItem.Height = 265;
genItem.Width = 440;
genItem.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(PanoramaItem_Tap);
genItem.Name = panoramaName;
//create the stackpanel for the panoramaitem
StackPanel genStack = new StackPanel();
genStack.Orientation = System.Windows.Controls.Orientation.Horizontal;
//margin to be done
genStack.Margin = new Thickness(0, -20, 0, 20);
//load the image
Image genImg = new Image();
genImg.Height = 220;
genImg.Width = 400;
genImg.Stretch = System.Windows.Media.Stretch.Fill;
genImg.Margin = new Thickness(20, 5, 20, 5);
string path = "Assets/AppGraphics/CreditCards/" + panoramaName.ToString() + "Front.png";
Uri uriR = new Uri(path, UriKind.Relative);
BitmapImage imgSource = new BitmapImage(uriR);
genImg.Source = imgSource;
//add image into stackpanel
genStack.Children.Add(genImg);
//add stackpanel to the panoramaitem
genItem.Content = genStack;
//add the panoramaitem to the panoramaview
this.PanoramaCC.Items.Add(genItem);
}
У меня проблема в том, что во время выполнения я хочу получить имя panoramaItem
Я сейчас смотрю и что-то с этим делаю. Мне удалось получить имя через событие касания для целей навигации, string name = ((PanoramaItem)sender).Name;
но это другой сценарий. Я хочу получить имя, а затем удалить элемент с соответствующим именем. Нажатие кнопки должно удалить текущий выбранный panoramaItem
это то, что я пытаюсь достичь.
1 ответ
Решение
Вы можете получить текущий PanoramaItem с помощью свойства SelectedItem. Вам не нужно получать имя, чтобы удалить его.
PanoramaItem currentItem = myPanorama.SelectedItem as PanoramaItem;
if(currentItem != null)
{
//if you want the name for other reasons
string name = currentItem.Name;
//Items returns an ItemsCollection object
myPanorama.Items.Remove(currentItem);
}