




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LightSwitch 屏幕的命令提示和技巧 我命令你 !在这篇文章,我想要团结起来共同构建功能为您的业务应用程序的屏幕时的一些命令提示。其中一些漂浮在 LightSwitch 的论坛、 博客社区和样品上,但我想应该有这些在一个地方的人更容易。很多时说,造我自己的 LightSwitch 应用程序使用这些技术。在本文中,我会告诉你: 如何创建一个命令 如何打开打开另一个屏幕 (有或没有参数) 如何打开一个模式对话框或窗口 如何打开浏览器 & 导航到一个 URL 如何打开计算器 (或其他 Windows 系统程序) 如何打开打开文件对话框 如何打开的文件 (如 Office 文档) 的默认程序 现在,让我们开始吧 !如何创建一个命令首先关闭让我开始向你们展示我所指的屏幕的命令。命令是按钮 (或链接) 用户通过单击进行某种形式的行动。您可以添加任何控制网格和文本框,以及屏幕本身一样的命令。看一看文档如何: 向屏幕添加自定义命令。命令显示在屏幕设计器左侧的模型中,由粉红色方法图标表示。你总是默认 关闭、 刷新和保存具有三个命令。刷新并保存时也会显示在屏幕的命令栏默认情况下运行应用程序。创建命令有两个主要的部分 创建实际按钮 (或链接),然后编写代码以在 _Execute 方法中命令执行的命令。(您还可以控制是否启用或禁用通过编写代码,在 _CanExecute 方法中命令的命令按钮。)命令按钮或链接可以和通常位于顶部的屏幕 (称为屏幕命令栏),以及对数据网格或顶层组控件 (称为命令栏) 功能区中,这些显示在默认情况下创建一个屏幕时。但是,您可以添加命令,你想让你对你的命令的位置有很大的灵活性的屏幕上的任何控件。这里是各种命令的画面:将命令添加到屏幕命令栏或命令栏,为一组只需选择它在屏幕设计器单击 + 添加按钮。取决于控件 LightSwitch 将提出一套预构建的命令。组显示一个单一的实体中的数据的控件,您可以添加一个预构建的命令,删除,将删除当前记录。在数据网格,并使用多个实体的列表,可以选择从各种用于添加、 编辑和删除记录的命令。您还可以通过他们右击并选择重写代码覆盖这些命令的默认行为。若要创建新的自定义命令,选择新按钮,然后为其指定方法名称。此时它将出现在左侧屏幕设计器的模型。一旦创建按钮、 右键单击并选择编辑执行代码编写的代码的命令。如果您看不到命令栏控件 (如标签、 文本框、 日期选取器、 自动完成箱、 等) 只是在用鼠标右键单击该控件,然后在菜单上您将看到添加 Button。您还可以单击屏幕设计器顶部的添加布局项目并选择添加 Button。如果你在屏幕定制模式下运行该应用程序然后选择控件并单击添加按钮图标的内容树的顶部。这使您能够灵活地将命令放要在屏幕上的任意位置。现在,您已了解如何创建的命令任何你想要下面是一些提示和技巧上一些常见的代码,您可以编写您的自定义命令。请注意,您可以编写此代码中的任何屏幕方法,它们并不限于命令。虽然这可能是最常见的地方,你会看到这样的自定义代码。如何打开另一个屏幕 (有或没有参数)这是很常见,在 LightSwitch 中非常简单。为了打开屏幕您使用的应用程序对象来访问您的所有屏幕和调用一个显示 方法。Private Sub OpenMyScreen_Execute() Write your code here. Me.Application.ShowCreateNewCustomer()End Sub您还可以在屏幕上定义可选和必需的参数。例如如果我们创建一个基于查询的屏幕,这需要一个参数,则 LightSwitch 将在模型中,用于饲料查询为我们生成屏幕的字段。您可以选择此字段,并在属性窗口中,您可以指明这是屏幕的参数,以及是否需要或不。请记住,所需的参数的屏幕不会显示在主导航栏中,因为他们必须在代码中调用。Private Sub OpenMyScreen_Execute() Write your code here. Me.Application.ShowSearchCustomersByPostalCode(98052)End Sub请在行动中看到这几个视频演示看看: 如何做 i: 传递参数到屏幕从 LightSwitch 应用程序中的命令栏? I: 如何保存在 LightSwitch 应用程序中的另一个屏幕后打开屏幕? 如何打开一个模式对话框或窗口允许的最模式消息框和输入的框弹出的屏幕上,也有几个方法。要向用户显示一条消息,您需要编写以下:Me.ShowMessageBox(This is the message)您还可以指定一个标题和要哪种按钮的消息框确定、 确定和取消,像上是,不等。ShowMessageBox 将返回一个值,指示用户选择的了。在本例中,我想询问用户是否确实要删除的记录。由于删除预构建的命令,只需在屏幕设计器中右键单击它并选择重写代码。然后您可以编写下面的代码:Private Sub gridDeleteSelected_Execute() If Me.ShowMessageBox(Are you sure you want to delete this record?, Delete, MessageBoxOption.YesNo) = Windows.MessageBoxResult.Yes Then Me.Customers.SelectedItem.Delete() End IfEnd Sub您还可以获得输入从用户通过使用一个输入的框。这是便于演示一条消息,并从用户请求一个统一的答案。Private Sub Search_Execute() If Me.CustomerPostalCode = Then Me.CustomerPostalCode = Me.ShowInputBox(Please enter a postal code to search for:, Search) End If Me.CustomersByPostalCode.Load()End Sub您也可以打开其它模态窗口中,您创建的内容树在屏幕上。例如,你可能有很多的上一条记录的字段和您要在模态窗口中显示整个字段集,当用户单击滚动搜索屏幕,而不是要求他们中的命令行。只需将选定项目添加到您的屏幕的底部,然后将控件类型更改为一个模态窗口。您然后可以布置领域究竟如何你喜欢。默认情况下,LightSwitch 将创建要自动启动的模态窗口的命令按钮,但是您可以关闭此功能在属性窗口中,取消选中显示按钮。为了从您自己的命令启动此模态窗口可以调用 OpenModalWindow,并将它传递模态窗口控件的名称:Private Sub ShowAllFields_Execute() Me.OpenModalWindow(Customers_SelectedItem)End Sub这段视频还显示了这些技术几个: I: 如何保存在 LightSwitch 应用程序中的另一个屏幕后打开屏幕? 如何打开浏览器 & 导航到一个 URL这是一项共同肯定的。也许您想打开特定的站点,或从 SQL 报告服务,一份报告或 SharePoint 网站的浏览器。例如说我们为我们的网站地址字段有一个文本框。我们可以将命令添加到控件,然后执行代码,打开地址。首先需要添加 System.Windows.Browser 程序集的引用。在解决方案资源管理器上翻转文件视图,然后右键单击该客户端项目并选择添加引用。然后上。网络选项卡上选择 System.Windows.Browser,然后单击确定。然后,您需要在您的代码文件的顶部添加这些进口:Imports Microsoft.LightSwitch.ThreadingImports System.Runtime.InteropServices.Automation现在,您可以编写代码来打开浏览器特定的 URL:Private Sub OpenSite_Execute() Dispatchers.Main.BeginInvoke( Sub() Dim uri As New Uri() Go to a specific website Dim uri As New Uri(Me.Customer.WebSite) Go to website stored in the Customer.WebSite field If (AutomationFactory.IsAvailable) Then Dim shell = AutomationFactory.CreateObject(Shell.Application) shell.ShellExecute(uri.ToString) ElseIf (Not System.Windows.Application.Current.IsRunningOutOfBrowser) Then System.Windows.Browser.HtmlPage.Window.Navigate(uri, _blank) End If End Sub)End Sub请注意我们需要确保我们总是从主 UI 线程调用此代码。如果你不会发生错误,如果您正在运行 LightSwitch 为浏览器的应用程序。在桌面模式中运行时 AutomationFactory.IsAvailable 是真正使意味着我们需要打开默认浏览器。如果我们已经在浏览器中,然后我们可以简单地定位到新的一页。你也可以做很多其他事情一样访问桌面模式在 Windows 文件系统,打开的默认程序,并使用 COM 自动化。这里是一些你的桌面应用程序的更多提示。如何打开计算器 (或其他 Windows 系统程序)这基于我看见我还以为是相当聪明的保罗 帕特森从一个提示:打开系统计算器与互操作。这是好生产力功能可供用户使用屏幕上的数值。就像前面的示例打开浏览器,您可以使用 ShellExecute 打开任何 Windows 系统程序在桌面模式 (这将不工作的浏览器模式)。首先添加此导入到您的代码文件的顶部:Imports System.Runtime.InteropServices.Automation然后您可以将只是传递给 ShellExecute 要打开 Windows 程序的名称:Private Sub OpenProgram_Execute() Try If (AutomationFactory.IsAvailable) Then Dim shell = AutomationFactory.CreateObject(Shell.Application) shell.ShellExecute(calc.exe) Open the calculator shell.ShellExecute(notepad.exe) Open notepad shell.ShellExecute(mspaint.exe) Open Paint End If Catch ex As Exception Me.ShowMessageBox(ex.ToString) End TryEnd Sub如何打开打开文件对话框您可能要从用户请求的文件,您需要显示打开文件对话框。这里是你该怎么做。首先将这些进口添加到您的代码文件的顶部:Imports Microsoft.LightSwitch.ThreadingImports System.Runtime.InteropServices.AutomationImports System.Windows然后编写此代码以打开打开文件对话框,以提示用户输入一个文件:Private Function GetFile(fileFilter As String) As IO.FileInfo Dim file As IO.FileInfo = Nothing This only works in desktop mode in LightSwitch. If AutomationFactory.IsAvailable Then You need to open the file dialog on the main thread. Dispatchers.Main.Invoke( Sub() Dim dlg As New Controls.OpenFileDialog dlg.Filter = fileFilter If dlg.ShowDialog = True Then file = dlg.File End If End Sub) End If Return fileEnd Function然后可以使用此引导用户进入打开某些类型的文件,通过指定一个筛选器。请记住,您可以从本地计算机上的任何文件读取,但您只限于书面或访问的完整路径或要仅显示那些来自受信任位置 (如用户的我的文档文件夹的文件的详细信息。Private Sub FindFile_Execute() Try Request a text file: Dim myFile = GetFile(Text Files (*.txt)|*.txt) You can read from files anywhere on disk that the user has access to. However you can only write to files in trusted locations like My Documents. Using fs = myFile.OpenText() Me.ShowMessageBox(fs.ReadToEnd() fs.Close() End Using Try to get the full path to the file. This will throw a SecurityException if the file is not from a trusted location like My Documents. Me.ShowMessageBox(myFile.FullName) Catch ex As System.Security.SecurityException Me.ShowMessageBox(Please select a file in your Documents, Music or Pictures folder.) Catch ex As Exception Me.ShowMessageBox(ex.ToString) End TryEnd Sub也注意到在 LightSwitch 中打开 OpenFileDialog 只适用于具有更高权限的桌面应用程序。如果您尝试直接启动基于浏览器的应用程序中 OpenFileDialog 你对话框必须是用户启动错误消息。这是因为 Silverlight 对话框 (如 OpenFileDialog) 只能从用户操作如单击按钮事件处理程序打开。这不会使用 LightSwitch 的原因是因为我们异步调用的按钮逻辑,因此代码不被认为是用户启动的。为一个变通办法请参阅马特 桑普森邮政的添加一个简单的 Silverlight 对话框部分:如何导入数据时运行 LightSwitch Web 应用程序.如何打开的文件 (如 Office 文档) 的默认程序如果您要打开的文件中的默认程序 (指定 windows) 你就可以再次使用 ShellExecute。在这种情况下您可能需要该文件从用户首次请求以便您可以使用 GetFile 方法上面以前提示中的。将这些进口添加到您的代码文件的顶部:Imports Microsoft.LightSwitch.ThreadingImports System.Runtime.InteropServices.AutomationImports System.Windows然后,您可以编写这样请求文件,然后再用的默认程序打开它的代码。下面是几个例子:Private Sub OpenFile_Execute() Try If (AutomationFac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年维修汽车考试题库答案
- 2025年公路水运工程试验检测师公共基础试题库及答案法规与技术标准
- 安达市2025-2026学年七年级上学期语文期中测试试卷
- 2025 年小升初温州市初一新生分班考试英语试卷(带答案解析)-(牛津版)
- 陕西省西安市碑林区西北工业大学附属中学2024-2025学年七年级下学期期末考试数学试卷(含答案)
- 刮石膏劳务合同范本
- 线上商铺租赁合同范本
- 水产店面出租合同范本
- 上海租房合同范本
- 标准的期房合同范本
- hiv职业暴露培训课件
- 中国方言课件图文教学
- 2025年重庆市高考物理试卷(含答案解析)
- 小番茄栽培技术课件
- 女职工普法宣传教学课件
- (高清版)DB22∕T 5159-2024 预应力混凝土桩基础技术标准
- 手术后切口愈合不良查房
- 合资研发中心管理制度
- 2024年中级统计师《统计工作实务》真题及答案解析
- 小学2024-2025学年度第二学期道德与法治课程计划
- 河北省唐山市路北区2025届八年级数学第二学期期末达标检测模拟试题含解析
评论
0/150
提交评论