Prism 的 TabControl 导航】的更多相关文章

基于Prism 7.1 最近工作中可能会用到TabControl所以作为小菜的我提前预习了一下,结果并没有我想的那么简单,于是乎 各种网上查,本来用wpf的人就不多 prism 的可查的资料就更少的可怜了,于是我 从prism的官方例子中 找到了合适的,为了防止自己忘记了,先写记录在这里. 首先我就直接用界面区域 注册 吧tabcontrol 直接写上去了,然后写了个UserControl 用prism 的导航框架直接去导结果就成了这个样子 发现Tabitem的Header没有,于是就开始查 H…
    作为同用户具有丰富的交互的客户端应用程序,它的用户界面(UI)将会持续不断的更新来反映用户工作的当前的任务和数据.用户界面可以进行一段时间相当大的变化作为用户交互的应用程序中完成各种任务.通过该应用程序协调这些用户界面的变化的过程通常被称为导航.     经常,导航意味着某些控件将会从UI中移除,其他的控件将会被添加到UI中.在另外的情况下,导航也意味着一个或多个存在的控件的可视化状态被更新.---例如,一些控件可能被简单的隐藏或收缩而另外的一些控件被显示后展开.类似的,导航可能意味着一…
1. UI布局关键概念 一个组合应用UI的根节点被称作Shell,一般只有一个Shell.Shell作为应用的主页,包含一个或者多个域.域是内容占位符,可以包含一个或者多个View.有很多控件可以作为域,如ContentControl,ItemsControl,TabControl,以及一些自定义的容器控件. 1.1. Shell 作为应用根节点,Shell是Window对象,虽然Shell是window对象,但是Shell也可以定义相应的view model对象.Shell定义整体布局,一些通…
以前学习Windows Form编程的时候,总感觉自己做的界面很丑,看到360安全卫士.迅雷等软件的UI设计都非常美观,心里总是憧憬着要是自己能实现这样的UI效果该多好!!!另一个困扰我的问题是,这个UI皮肤是如何用技术实现的呢?!虽然好多年过去了,但心里的憧憬和疑惑一直没有消失,而且越来越强烈.在日常的工作和学习中,自己在网上也经常留意类似的技术或者文章.最近在学习WPF的过程中,看到网上也有仿360和仿迅雷UI设计的资源,通过对资源的学习和自己的动手实践,终于实现了下面的仿360安全卫士界面…
上一篇交代了我Xamarin填坑的背景,大概聊了聊第一步环境配置,第二步创建项目和开发框架选择.如果有一个可用的梯子,这部分基本不会出错. 接下来就具体聊一聊写代码的过程中遇到的一些事儿. 第三步是码代码: ①Http相关: 我做的项目是一个校园助手,目前提供的功能绝大多数是查询功能.或者说,就是简单的爬虫,从校园服务器上爬取相关网页.因此,结合校园网站以及我的自身需求,我写了一个简单的用于发送Http请求的服务类HttpService,封装了一些Request方法: public async…
原文:从PRISM开始学WPF(八)导航Navigation-更新至Prism7.1 0x6Navigation [7.1updated] Navigation 在wpf中并没有变化 Basic Navigation Prism中的Navigation提供了一种类似导航的功能,他可以根据用户的输入,来刷新UI. 先看一个最简单的例子,通过按钮来导航到一个视图,在这里,视图被注册为Navication. 7.1中不再使用构造函数注入依赖,而是新增了两个接口OnInitialized和Registe…
原文:从PRISM开始学WPF(八)导航Navigation? 0x6Navigation Basic Navigation Prism中的Navigation提供了一种类似导航的功能,他可以根据用户的输入,来刷新UI. 先看一个最简单的例子,通过按钮来导航到一个视图,在这里,视图被注册为Navication. public void Initialize() { _container.RegisterTypeForNavigation<ViewA>(); _container.Registe…
原文:Prism for WPF 搭建一个简单的模块化开发框架(六)隐藏菜单.导航 这个实际上是在聊天之前做的,一起写了,也不分先后了 看一下效果图,上面是模块主导航,左侧是模块内菜单,现在加一下隐藏菜单,让中间部分更大   直接上代码吧,上下代码基本上一样就只贴左侧的代码了 既然做这个,少不了用个动画 按钮样式 <Style x:Key="LeftShowAndHideToggleButtonStyle" TargetType="ToggleButton"&…
1. 背景 导航是为了实现不同界面的切换,是一种组织系统功能的方式.提供两种导航,一是基于View切换,二是基于ViewModel状态. 2. 基于View切换的导航 最常用导航方式.在该种导航中首先需要定义一个域(Region),然后注册所有需要的View.通过切换不同视图,可以实现导航.下面具体阐述: 2.1 定义域 一般使用ContentControl,ItemControl以及二者的子类定义域,同时为域命名,代码如下: <ContentControl Grid.Row="1&quo…
3个Page,Page1 -> Page2 -> Page3 -> Page2 -> Page1. PageViewModel实现接口:INavigatingAware, INavigatedAware, IDestructible 断点位置: Page: 构造函数 PageViewModel: 构造函数. Page.Appearing事件(EventToCommand).Page.Disappearing事件(EventToCommand). OnNavigatingTo方法(I…
0x6Navigation Basic Navigation Prism中的Navigation提供了一种类似导航的功能,他可以根据用户的输入,来刷新UI. 先看一个最简单的例子,通过按钮来导航到一个视图,在这里,视图被注册为Navication. public void Initialize() { _container.RegisterTypeForNavigation<ViewA>(); _container.RegisterTypeForNavigation<ViewB>(…
从今天起开始写一个Prism框架的学习博客,今天是第一篇,所以从最基本的一些概念开始学习这个基于MVVM的框架的学习,首先看一下Prism代表什么,这里引用一下比较官方的英文解释来看一下:Prism was the code name for the guidance formally known as the Composite Application Guidance for WPF and Silverlight. For brevity and conciseness, and due…
一个应用程序的用户界面(UI)可以通用以下几种模式之一来构建: 窗体所需要所有的控件都包含在一个单独的XAML文件中,在设计时组合这个窗体. 窗体的逻辑区域被分割到单独的部分中,通常指哟过户控件.这些部分被窗体引用并且在设计时组合窗体. 窗体的逻辑区域被分割到单独的部分中,通常指哟过户控件.这些部分是不被窗体所知道的,并且在运行时动态的将它们添加到窗体中.使用这种方法的应用程序称为复合应用程序. 一个复合应用程序的UI是从被认为是通常包含在程序模块中的View的可视化组件松耦合的组合起来的,但是…
 Prism provides guidance designed to help you more easily design and build rich, flexible, and easy-to-maintain Windows Presentation Foundation (WPF) desktop applications. Using design patterns such as Model-View-ViewModel (MVVM), Composite View, and…
工作中之前接触过的WPF程序一直是使用TabControl作不同页面间的切换,每个Tab负责独立的功能,清晰简捷,所以一直就没有动力研究WPF自带的页面导航.(虽然接触过使用页面导航的WPF项目,也并没有去了解,而是似懂非懂地过去了.) 直到最近做的一个项目,用的还是TabControl,但在某个Tab里面,做的任务有些复杂,导致UI在操作前后会有很大的变化.很自然的想法就是在这个Tab中使用两个view(我并没有指明是UserControl还是Page),来回切换.然而粗略地调查了一下之后觉得…
架构目标 以模块化方式开发应用,这些模块被独立团队用WPF技术开发,集成,部署,这是使用Prism的最大好处. 最小化交叉团队依赖.允许团队在不同领域专业化,比如UI设计,商业逻辑实现,基础代码开发 架构用于提升不同团队(开发模块)的重复利用性. 通过抽象出可在不同队伍使用的公共服务提升应用质量 提升持续集成能力 关键概念 模块(Module) 所谓模块是指实现某个特定功能的包,一般是一个独立程序集.该包可以被单独开发,测试,部署.实现多人协作开发,解耦,以及复用.一个应用可以包含一个或多个模块…
相当多的WPF程序都有着丰富的页面和功能,如何使程序在不同页面间转换并降低资源占用,选择适合自己的导航框架就很重要了.最近花了一点时间做了一个简单的导航框架,并在这个过程中对Window.Page.UserControl有了更多的认识. 1."简单粗暴"的TabControl 如果你的应用程序很简单,各个页面间没有直接的联系,那么TabControl就完全可以满足要求.刚开始学WPF的时候,页面导航我只会用TabControl(其他不懂),自带Tab切换效果.   <Window…
最近看到一个比较漂亮的UI主界面,该UI是用左边的页签进行导航,比较有特色,就想着尝试用WPF来实现一下.经过一番尝试,基本上将UI设计图的效果用WPF程序进行了实现.下面介绍一下主要的思路: 1 UI设计 该UI的PSD设计图效果如下: UI结构分析:先可以把UI分成上下两个区域,上面是一个区域放置一些appName,用户信息和配置按钮等,下面的再分成竖向的页签导航区域和内容区.但从WPF程序实现上来说,可以有多种区域划分方法,每个人的划分方法不同. 2 UI切图 内容区域的图片不做切图,它会…
1.Prism Prism是由微软Patterns & Practices团队开发的针对WPF和Silverlight的MVVM框架. Prism的几个关键点: (1)启动器类UnityBootstrapper Silverlight程序入口处调用Bootstrapper.Run方法时,Prism会自动做一些初始化工作,包括读取模块信息表,创建模块类实例并初始化(还可以选择按需加载模式OnDemand),以及在CreatShell中指定整个程序的根视图. (2)继承IModule接口,进行模块初…
本文转载自:http://blog.csdn.net/conmajia/article/details/7596718 作者:野比 (conmajia@gmail.com) 时间:May, 2012 封面图片为野比原创,请勿未经允许私自引用 #1-1 嗯,各位,又是我,生物钟颠倒的家伙. 今天我要山寨的是大名鼎鼎的Apple,传说中的「被山寨之王」. 没错,都被我山寨好几次了. 说起Apple,相信大家对他家的各种产品,不管他软还是硬,都有相当的好感. 最近Apple把自家的Web浏览器Safa…
Prism是由微软Patterns & Practices团队开发的项目,目的在于帮助开发人员构建松散耦合的.更灵活.更易于维护并且更易于测试的WPF应用或是Silverlight应用以及Windows Phone 7应用.使用Prism可以使程序开发更趋于模块化,整个项目将由多个离散的.松耦合的模块组成,而各个模块又可以又不同的开发者或团队进行开发.测试和部署.目前Prism的最新版本是Prism 4,于2010年11月12日发布.Prism有很完整的文档以及丰富的示例程序.在这里我们仅针对于…
MVVMLight是MVVM开发模式在Windows Phone平台下的一个开发框架,关于MVVMLight的基础使用,已经有人写的很好了,可以参照:MVVM.MVVMLight.MVVMLight Toolkit之我见 - 陈希章 - 博客园 但是有些业务逻辑写在Code-Behind里面是不合适的,而通过在ViewModel中实现导航,实现OnNavigated.OnBackPress事件则是一个比较好的方法,参照Prism框架的实现方式,我做了一个MvvmLight的一个Extension…
转自  http://www.cnblogs.com/li-xiao/archive/2011/01/13/1934564.html   Prism简介 Prism是由微软Patterns & Practices团队开发的项目,目的在于帮助开发人员构建松散耦合的.更灵活.更易于维护并且更易于测试的WPF应用或是Silverlight应用以及Windows Phone 7应用.使用Prism可以使程序开发更趋于模块化,整个项目将由多个离散的.松耦合的模块组成,而各个模块又可以又不同的开发者或团队进…
以前做UWP开发都是使用MvvmLight,主要是简单易上手,同时也写了很多MvvmLight的开发系列文章: UWP开发必备以及常用知识点总结 UWP开发之Mvvmlight实践九:基于MVVM的项目架构分享 UWP开发之Mvvmlight实践八:为什么事件注销处理要写在OnNavigatingFrom中 UWP开发之Mvvmlight实践七:如何查找设备(Mobile模拟器.实体手机.PC)中应用的Log等文件 UWP开发之Mvvmlight实践六:MissingMetadataExcept…
一.使用环境 OS:Win 10 16273 VS:VS2017- 15.3.4 Xamarin:4.6.3.4,nuget:2.4 Android Emulator:Visual Studio for Android Emulator(相比 Android Emulator不用下载SDK,而且启动快) 二.安装 Prism 模块 工具--扩展和更新--搜索 Prism Template Pack--安装 三.开始搞起 1.先建个项目 2.添加页面 Views文件夹右键--添加--新建项,弹出来…
从PRISM开始学WPF(一)WPF? 从PRISM开始学WPF(二)Prism? 从PRISM开始学WPF(三)Prism-Region? 从PRISM开始学WPF(四)Prism-Module? 从PRISM开始学WPF(五)MVVM(一)ViewModel? 从PRISM开始学WPF(六)MVVM(一)Command? 0x3 Region regions Regions是应用程序UI的逻辑区域,它很像一个PlaceHolder,Views在Regions中展现,很多种控件可以被用作Reg…
当时我在搬运Prism6.3的sample代码的时候,就是因为网上的资料太老旧,万万没想到这给自己挖了一个坑,因为我在做笔记的时候,prism已经在更新7.0了 现在已经是7.2了,(lll¬ω¬),GitHub异常活跃 我个人目前是没有使用prism做项目的,所以也没有什么使用感受 这些文章也只是尬笔记,但不妨碍我把这个系列更新到7.1 [7.1updated] 从wpf的实例代码来看,7.1主要更新了几个部分: PrismApplication prismapp现在都是PrismApplic…
[7.1update]在开始前,我们先看下版本7.1中在本实例中的改动. 首先,项目文件中没有了Bootstrapper.cs,在上一篇的末尾,我们说过了,在7.1中,不见推荐使用Bootstrapper,相关改动整合到app.xaml和app.xaml.cs中. 然后: app.xaml <prism:PrismApplication x:Class="Regions.App" xmlns="http://schemas.microsoft.com/winfx/200…
并不是所有控件都可以被用作Region了吗?我们将Gird块的代码变成这样: <Grid> <ContentControl prism:RegionManager.RegionName="ContentRegion" /> <StackPanel prism:RegionManager.RegionName="ContentRegion2" /> </Grid> 似乎看上去一切正常,让我们来启动他. Oops!!!程序…
作者:野比 (conmajia@gmail.com) 时间:May, 2012 封面图片为野比原创,请勿未经允许私自引用 #1-1 嗯,各位,又是我,生物钟颠倒的家伙. 今天我要山寨的是大名鼎鼎的Apple,传说中的「被山寨之王」. 没错,都被我山寨好几次了. 说起Apple,相信大家对他家的各种产品,不管他软还是硬,都有相当的好感. 最近Apple把自家的Web浏览器Safari升级到了第5版,并同步推出了Windows版,支持WinXP开始的全部Windows版本. 不得不说,这是一个很给力…