Как проверить, добавлен ли вид в регион в PRISM? - PullRequest
1 голос
/ 15 ноября 2010

У меня есть регион, и я хочу проверить, добавлен ли к нему определенный тип представления или нет. Как я могу это сделать?

Ответы [ 3 ]

4 голосов
/ 17 ноября 2010

Следующий код (с использованием Linq) должен быть полезен:

regionManager.Regions["RegionName"].Views.Any(v => v.GetType() == typeof(ViewType));

Надеюсь, это поможет,

1 голос
/ 16 ноября 2010

Вы можете проверить, был ли вид добавлен в регион, используя следующий метод.

var regionManager = Get reference to the region manager
bool viewHasBeenAdded = regionManager.Regions["Your region"].GetView("View Name") != null;

Это то, что вы хотите, или вы действительно хотите проверить тип, а не имя?

0 голосов
/ 13 февраля 2018
object obj = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(cntrlName);

var checkIfAlreadyExists = 
RegionManager.Regions["ApplicationCoreRegion"].Views.Contains(obj);

if (checkIfAlreadyExists) {
    MessageBox.Show("Can not add this, because it is already shown");
} else {
    RegionManager.RegisterViewWithRegion("ApplicationCoreRegion", () => obj);
    RegionManager.Regions["ApplicationCoreRegion"].Activate(obj);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...