我有一个区域,想要检查是否添加了特定的视图类型。我该怎么办?
答案 0 :(得分:3)
以下代码(使用Linq)应该很有用:
regionManager.Regions["RegionName"].Views.Any(v => v.GetType() == typeof(ViewType));
希望这有帮助,
答案 1 :(得分:1)
您可以使用以下方法检查视图是否已添加到区域。
var regionManager = Get reference to the region manager
bool viewHasBeenAdded = regionManager.Regions["Your region"].GetView("View Name") != null;
这是你想要的还是你想要检查Type而不是View name?
答案 2 :(得分:0)
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);
}