Ошибка именной области «Не удается зарегистрировать повторяющееся имя» в WPF - PullRequest
1 голос
/ 14 января 2011

Я создал TabItem элемент управления с определенной структурой (DataGrids Buttons и т. Д.). Некоторые элементы управления в TabItem имеют имена. Вся эта настройка создается в коде. Всякий раз, когда создается новая вкладка, я клонирую этот TabItem. Проблема заключается в том, что имена элементов управления зарегистрированы в именной области, и когда я клонирую эти элементы управления, они не могут быть повторно зарегистрированы.

Я не уверен, какие у меня есть варианты, но

  1. Могу ли я создать новую область имен для каждого TabItem? Это желательно? Если так, как я могу найти конкретную область имен?

  2. Могу ли я зарегистрировать имена элементов управления в родительском элементе управления и не беспокоиться об изменении именных областей?

Какое у меня решение?

Любая помощь приветствуется

Ответы [ 2 ]

2 голосов
/ 14 января 2011

Не зная немного больше о том, что вы делаете, трудно советовать, но вот некоторые мысли ...

Для чего вы используете эти имена?Не могли бы вы использовать вместо этого некоторые другие свойства вашего элемента управления, например, Tag?

Создание элементов управления и их клонирование звучит немного неприятно!Почему бы не создать пользовательский элемент управления, который содержит все ваши элементы управления?Вы по-прежнему можете создавать их в коде позади пользовательского элемента управления.Это решит проблему с именной областью, а также обеспечит лучшее структурирование вашего кода!

0 голосов
/ 27 июня 2017

Есть один метод, который вы можете использовать

public void UnregisterName(string name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...