本文整理匯總了C#中Prism.Regions.Region.Add方法的典型用法代碼示例。如果您正苦於以下問題:C# Region.Add方法的具體用法?C# Region.Add怎麽用?C# Region.Add使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Prism.Regions.Region
的用法示例。
在下文中一共展示了Region.Add方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: AddingDuplicateNamedViewThrows
public void AddingDuplicateNamedViewThrows()
{
IRegion region = new Region();
region.Add(new object(), "MyView");
region.Add(new object(), "MyView");
}
示例2: WhenRegionHasMultipleViews_ThenViewsWithMatchingFullTypeNameAreConsidered
public void WhenRegionHasMultipleViews_ThenViewsWithMatchingFullTypeNameAreConsidered()
{
// Arrange
var serviceLocatorMock = new Mock<IServiceLocator>();
var region = new Region();
var view1 = new TestView();
var view2 = "view";
region.Add(view1);
region.Add(view2);
var navigationContext = new NavigationContext(null, new Uri(view2.GetType().FullName, UriKind.Relative));
var navigationTargetHandler = new TestRegionNavigationContentLoader(serviceLocatorMock.Object);
// Act
var returnedView = navigationTargetHandler.LoadContent(region, navigationContext);
// Assert
Assert.AreSame(view2, returnedView);
}
示例3: WhenNavigatingWithQueryString_ViewIsActivated
public void WhenNavigatingWithQueryString_ViewIsActivated()
{
// Prepare
object view = new object();
Uri viewUri = new Uri(view.GetType().Name + "?MyQuery=true", UriKind.Relative);
IRegion region = new Region();
region.Add(view);
string regionName = "RegionName";
RegionManager regionManager = new RegionManager();
regionManager.Regions.Add(regionName, region);
var serviceLocatorMock = new Mock<IServiceLocator>();
serviceLocatorMock.Setup(x => x.GetInstance<IRegionNavigationJournalEntry>()).Returns(new RegionNavigationJournalEntry());
IServiceLocator serviceLocator = serviceLocatorMock.Object;
RegionNavigationContentLoader contentLoader = new RegionNavigationContentLoader(serviceLocator);
IRegionNavigationJournal journal = new Mock<IRegionNavigationJournal>().Object;
RegionNavigationService target = new RegionNavigationService(serviceLocator, contentLoader, journal);
target.Region = region;
// Act
bool isNavigationSuccessful = false;
target.RequestNavigate(viewUri, nr => isNavigationSuccessful = nr.Result == true);
// Verify
Assert.IsTrue(isNavigationSuccessful);
bool isViewActive = region.ActiveViews.Contains(view);
Assert.IsTrue(isViewActive);
}
示例4: WhenNavigatingAndBothViewAndDataContextImplementINavigationAware_ThenNavigatedIsInvokesOnNavigation
public void WhenNavigatingAndBothViewAndDataContextImplementINavigationAware_ThenNavigatedIsInvokesOnNavigation()
{
// Prepare
var region = new Region();
Mock<FrameworkElement> mockFrameworkElement = new Mock<FrameworkElement>();
Mock<INavigationAware> mockINavigationAwareView = mockFrameworkElement.As<INavigationAware>();
mockINavigationAwareView.Setup(ina => ina.IsNavigationTarget(It.IsAny<NavigationContext>())).Returns(true);
Mock<INavigationAware> mockINavigationAwareDataContext = new Mock<INavigationAware>();
mockINavigationAwareDataContext.Setup(ina => ina.IsNavigationTarget(It.IsAny<NavigationContext>())).Returns(true);
mockFrameworkElement.Object.DataContext = mockINavigationAwareDataContext.Object;
var view = mockFrameworkElement.Object;
region.Add(view);
var navigationUri = new Uri(view.GetType().Name, UriKind.Relative);
var serviceLocatorMock = new Mock<IServiceLocator>();
serviceLocatorMock.Setup(x => x.GetInstance<IRegionNavigationJournalEntry>()).Returns(new RegionNavigationJournalEntry());
IServiceLocator serviceLocator = serviceLocatorMock.Object;
RegionNavigationContentLoader contentLoader = new RegionNavigationContentLoader(serviceLocator);
IRegionNavigationJournal journal = new Mock<IRegionNavigationJournal>().Object;
RegionNavigationService target = new RegionNavigationService(serviceLocator, contentLoader, journal);
target.Region = region;
// Act
target.RequestNavigate(navigationUri, nr => { });
// Verify
mockINavigationAwareView.Verify(v => v.OnNavigatedTo(It.Is<NavigationContext>(nc => nc.Uri == navigationUri)));
mockINavigationAwareDataContext.Verify(v => v.OnNavigatedTo(It.Is<NavigationContext>(nc => nc.Uri == navigationUri)));
}
示例5: WhenViewExistsAndDoesNotImplementINavigationAware_ThenReturnsView
public void WhenViewExistsAndDoesNotImplementINavigationAware_ThenReturnsView()
{
// Arrange
var serviceLocatorMock = new Mock<IServiceLocator>();
var region = new Region();
var view = new TestView();
region.Add(view);
var navigationContext = new NavigationContext(null, new Uri(view.GetType().Name, UriKind.Relative));
var navigationTargetHandler = new TestRegionNavigationContentLoader(serviceLocatorMock.Object);
// Act
var returnedView = navigationTargetHandler.LoadContent(region, navigationContext);
// Assert
Assert.AreSame(view, returnedView);
}
示例6: AddingNonDependencyObjectToRegionDoesNotThrow
public void AddingNonDependencyObjectToRegionDoesNotThrow()
{
IRegion region = new Region();
object model = new object();
region.Add(model);
Assert.AreEqual(1, region.Views.Cast<object>().Count());
}
示例7: CanAddAndRetrieveNamedViewInstance
public void CanAddAndRetrieveNamedViewInstance()
{
IRegion region = new Region();
object myView = new object();
region.Add(myView, "MyView");
object returnedView = region.GetView("MyView");
Assert.IsNotNull(returnedView);
Assert.AreSame(returnedView, myView);
}
示例8: CanRemoveContentFromRegion
public void CanRemoveContentFromRegion()
{
IRegion region = new Region();
object view = new object();
region.Add(view);
region.Remove(view);
Assert.AreEqual(0, region.Views.Cast<object>().Count());
}
示例9: CanAddContentToRegion
public void CanAddContentToRegion()
{
IRegion region = new Region();
Assert.AreEqual(0, region.Views.Cast<object>().Count());
region.Add(new object());
Assert.AreEqual(1, region.Views.Cast<object>().Count());
}
示例10: AddingSameViewTwiceThrows
public void AddingSameViewTwiceThrows()
{
object view = new object();
IRegion region = new Region();
region.Add(view);
try
{
region.Add(view);
Assert.Fail();
}
catch (InvalidOperationException ex)
{
Assert.AreEqual("View already exists in region.", ex.Message);
}
catch
{
Assert.Fail();
}
}
示例11: RegionExposesCollectionOfContainedViews
public void RegionExposesCollectionOfContainedViews()
{
IRegion region = new Region();
object view = new object();
region.Add(view);
var views = region.Views;
Assert.IsNotNull(views);
Assert.AreEqual(1, views.Cast<object>().Count());
Assert.AreSame(view, views.Cast<object>().ElementAt(0));
}
示例12: ShouldFindCandidateViewWithFriendlyNameInRegion
public void ShouldFindCandidateViewWithFriendlyNameInRegion()
{
this.ConfigureMockServiceLocator();
// We cannot access the MefRegionNavigationContentLoader directly so we need to call its
// GetCandidatesFromRegion method through a navigation request.
IRegion testRegion = new Region();
MockView2 view = new MockView2();
testRegion.Add(view);
testRegion.Deactivate(view);
testRegion.RequestNavigate("SomeView");
Assert.IsTrue(testRegion.Views.Contains(view));
Assert.IsTrue(testRegion.Views.Count() == 1);
Assert.IsTrue(testRegion.ActiveViews.Count() == 1);
Assert.IsTrue(testRegion.ActiveViews.Contains(view));
}
示例13: WhenClearChildViewsPropertyIsNotSet_ThenChildViewsRegionManagerIsNotCleared
public void WhenClearChildViewsPropertyIsNotSet_ThenChildViewsRegionManagerIsNotCleared()
{
var regionManager = new MockRegionManager();
var region = new Region();
region.RegionManager = regionManager;
var behavior = new ClearChildViewsRegionBehavior();
behavior.Region = region;
behavior.Attach();
var childView = new MockFrameworkElement();
region.Add(childView);
Assert.AreEqual(regionManager, childView.GetValue(RegionManager.RegionManagerProperty));
region.RegionManager = null;
Assert.AreEqual(regionManager, childView.GetValue(RegionManager.RegionManagerProperty));
}
示例14: BeforeNavigating_NavigatingEventIsRaised
public void BeforeNavigating_NavigatingEventIsRaised()
{
// Prepare
object view = new object();
Uri viewUri = new Uri(view.GetType().Name, UriKind.Relative);
IRegion region = new Region();
region.Add(view);
string regionName = "RegionName";
RegionManager regionManager = new RegionManager();
regionManager.Regions.Add(regionName, region);
var serviceLocatorMock = new Mock<IServiceLocator>();
serviceLocatorMock.Setup(x => x.GetInstance<IRegionNavigationJournalEntry>()).Returns(new RegionNavigationJournalEntry());
IServiceLocator serviceLocator = serviceLocatorMock.Object;
RegionNavigationContentLoader contentLoader = new RegionNavigationContentLoader(serviceLocator);
IRegionNavigationJournal journal = new Mock<IRegionNavigationJournal>().Object;
RegionNavigationService target = new RegionNavigationService(serviceLocator, contentLoader, journal);
target.Region = region;
bool isNavigatingRaised = false;
target.Navigating += delegate(object sender, RegionNavigationEventArgs e)
{
if (sender == target)
{
isNavigatingRaised = true;
}
};
// Act
bool isNavigationSuccessful = false;
target.RequestNavigate(viewUri, nr => isNavigationSuccessful = nr.Result == true);
// Verify
Assert.IsTrue(isNavigationSuccessful);
Assert.IsTrue(isNavigatingRaised);
}
示例15: ShouldFindCandidateViewInRegion
public void ShouldFindCandidateViewInRegion()
{
IUnityContainer container = new UnityContainer();
container.RegisterType<object, MockView>("MockView");
this.ConfigureMockServiceLocator(container);
// We cannot access the UnityRegionNavigationContentLoader directly so we need to call its
// GetCandidatesFromRegion method through a navigation request.
IRegion testRegion = new Region();
MockView view = new MockView();
testRegion.Add(view);
testRegion.Deactivate(view);
testRegion.RequestNavigate("MockView");
Assert.IsTrue(testRegion.Views.Contains(view));
Assert.IsTrue(testRegion.Views.Count() == 1);
Assert.IsTrue(testRegion.ActiveViews.Count() == 1);
Assert.IsTrue(testRegion.ActiveViews.Contains(view));
}