Я хочу добавить некоторые элементы xaml за кодом. Итак, я мог добавить любой элемент с базой данных. Но я пробовал это, но он возвращает эту ошибку:
An exception of type 'System.ArgumentException' occurred in Your Health.exe but was not handled in user code Value does not fall within the expected range.
Что я сделал:
//activity_list.cs
namespace activity{
public class activity_list{
public static ListViewItem
type_home,
type_settings;
public static ListViewItem[] type_list = {
type_home,
type_settings
};
public static string[] type_list_string = {
"Home",
"Settings"
};
public static string[] type_list_icon = {
"E80F",
"E713"
};
public activity_list()
{
for(int i=0;i < type_list.Length; i++)
{
ListViewItem elem = type_list[i];
elem = new ListViewItem();
RelativePanel panel = new RelativePanel();
Rectangle active_bar = new Rectangle();
TextBlock name = new TextBlock();
FontIcon icon = new FontIcon();
active_bar.Name = "bar_"+type_list_string[i];
name.Text = type_list_string[i];
icon.FontFamily = new FontFamily("Segoe MDL2 Assets");
icon.Glyph = "&#x" + type_list_icon[i] + ";";
panel.Children.Add(active_bar);
panel.Children.Add(name);
panel.Children.Add(icon);
elem.Content = panel;
}
}
}
}
Затем на MainPage.cs я добавил этот код:
cat_sidebar_activity.Children.Add(activity_list.home); //cat_sidebar_activity is an element from MainPage.xaml
Я не понимаю, что вызвало эту проблему.
Воспроизвести эту проблему с помощью кода, которым вы поделились, невозможно. Не могли бы вы поделиться полным кодом на вашей MainPage, который создает объект activity_list.home
?
Вы можете использовать отладчик, чтобы точно определить, где произошло исключение и каковы значения ваших переменных на данный момент.