本文整理汇总了C#中Prism.Regions.Region类的典型用法代码示例。如果您正苦于以下问题:C# Region类的具体用法?C# Region怎么用?C# Region使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Region类属于Prism.Regions命名空间,在下文中一共展示了Region类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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);
}
示例2: WhenRegionConstructed_SortComparisonIsDefault
public void WhenRegionConstructed_SortComparisonIsDefault()
{
IRegion region = new Region();
Assert.IsNotNull(region.SortComparison);
Assert.AreEqual(region.SortComparison, Region.DefaultSortComparison);
}
示例3: 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)));
}
示例4: 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);
}
示例5: 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);
}
示例6: WhenNoCurrentMatchingViewExists_ThenReturnsNewlyCreatedInstanceWithServiceLocatorAddedToTheRegion
public void WhenNoCurrentMatchingViewExists_ThenReturnsNewlyCreatedInstanceWithServiceLocatorAddedToTheRegion()
{
// Arrange
var serviceLocatorMock = new Mock<IServiceLocator>();
var region = new Region();
var view = new TestView();
serviceLocatorMock
.Setup(sl => sl.GetInstance<object>(view.GetType().Name))
.Returns(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);
Assert.IsTrue(region.Views.Contains(view));
}
示例7: AddingDuplicateNamedViewThrows
public void AddingDuplicateNamedViewThrows()
{
IRegion region = new Region();
region.Add(new object(), "MyView");
region.Add(new object(), "MyView");
}
示例8: ActivateNonAddedViewThrows
public void ActivateNonAddedViewThrows()
{
IRegion region = new Region();
object nonAddedView = new object();
region.Activate(nonAddedView);
}
示例9: RemoveInexistentViewThrows
public void RemoveInexistentViewThrows()
{
IRegion region = new Region();
object view = new object();
region.Remove(view);
Assert.AreEqual(0, region.Views.Cast<object>().Count());
}
示例10: AddingNonDependencyObjectToRegionDoesNotThrow
public void AddingNonDependencyObjectToRegionDoesNotThrow()
{
IRegion region = new Region();
object model = new object();
region.Add(model);
Assert.AreEqual(1, region.Views.Cast<object>().Count());
}
示例11: AddNamedViewIsAlsoListedInViewsCollection
public void AddNamedViewIsAlsoListedInViewsCollection()
{
IRegion region = new Region();
object myView = new object();
region.Add(myView, "MyView");
Assert.AreEqual(1, region.Views.Cast<object>().Count());
Assert.AreSame(myView, region.Views.Cast<object>().ElementAt(0));
}
示例12: 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);
}
示例13: 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());
}
示例14: 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());
}
示例15: 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));
}