Существует проблема метода. Список с двойной цепью должен иметь первый и последний элементный указатель в структуре.
struct T_Element
{
previous *T_Element = nullptr;
next *T_Element = nullptr;
};
class T_List
{
public:
/*add and delete functions*/
void print()
{
for(T_Element *element = first; element != nullptr ; element = element->next)
{
print(element); /*to define*/
}
}
void reversePrint()
{
for(T_Element *element = last; element != nullptr ; element = element->previous)
{
print(element); /*to define*/
}
}
private:
first *T_Element = nullptr;
last *T_Element = nullptr;
};
сбой, что, если необходимо проверить, устанавливается ли DataContext, можно использовать Примечание DataContextChanged
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
DataContextChanged += new DependencyPropertyChangedEventHandler(UserControl1_DataContextChanged);
}
void UserControl1_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{
// You can also validate the data going into the DataContext using the event args
}
}
он, привычка вводит UserControl1_DataContextChanged, пока DataContext не изменяется от пустого указателя до другого значения.
Не уверенный, если это отвечает на Ваш вопрос, но может быть довольно удобно для использования в отладке проблем.
Я думаю, что Вы проверяете 'DataContext' в конструктора UserControl. Это будет пустым в Конструкторе, так как пользовательский элемент управления еще не создал, в то время как выполнение находится в коде конструктора. Но проверьте свойство в событии Loaded, Вы будете видеть объект правильно.
public partial class UserControl1
{
public UserControl1()
{
this.InitializeComponent();
//DataContext will be null here
this.Loaded += new RoutedEventHandler(UserControl1_Loaded);
}
void UserControl1_Loaded(object sender, RoutedEventArgs e)
{
//Check DataContext Property here - Value is not null
}
}
Я проверил бы, чтобы видеть, есть ли у Вас ошибка привязки во времени выполнения. Добавьте это пространство имен к своему XAML:
xmlns:debug="clr-namespace:System.Diagnostics;assembly=System"
и проверка Окно вывода отладчика для соответствующих сообщений об ошибках.
, С другой стороны, можно ли показать нам больше кода?