python爬silverlight_Python创建Silverlight控件编写过程经验分享

Python编程语言可以帮助我们实现哪些功能呢?它的主要应用范围都包括哪些呢?我们今天先来了解一下有关Python创建Silverlight控件的相关实现方法,以此来初步熟悉一下这一语言的应用方式以及功能特点。

其实关注Silverlight很久了,只是最初的版本令我很失望,1.0的Silverlight在我看来,就相当于强化版的VML或者SVG而已,多年以前(04年)我一直期待微软能出一个强大的web端插件,能够跟flash竞争,这么久以后,这个东西才逐渐变成现实。

好吧,Silverlight 2有了,尽管它还是beta 版,先玩玩吧。我搞了一个Visual Studio 2008 Express版,装了Web跟C#,竟然都不支持2.0的Silverlight开发,有没有搞错,就是冲着那些控件才来玩SL的,这怎么办。

这可郁闷死我了,于是我只好乖乖装完整版本的Visual Studio 2008,这玩意大得很,我把硬盘空间整理了又整理,勉强弄出一点地盘给它,N久之后终于装完,折腾了半天,那个该死的插件又装不上,搞了好久还是不行,我很生气,算了,不搞它了。

于是我决定Python创建Silverlight控件不要VS2008了,听说Silverlight 2.0支持动态语言,好,来玩玩。我以前是做JavaScript的,换个吧,我来玩玩Python,于是我就找例子,一找找到了,怎么呢,我来写了:

这里是XAML文件app.xaml

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

x:Class="System.Windows.Controls.Canvas"x:Name="Page"Width="400"Height="300">

这里是Python文件app.py

from System.Windows import Application

from System.Windows.Controls import *

from System.Windows.Browser import *

class App:

def __init__(self):

self.scene=Application.Current.LoadRootVisual(Canvas(), "app.xaml")

def start(self):

self.scene.TestButton.Click += self.TestButton_Click

def TestButton_Click(self, sender, eventArgs):

self.scene.MsgText.Text="Hello, world!"

App().start()

其他的没什么悬念了,Chiron /d,开始跑,http://localhost:2060/index.htm上出现了效果,一个文本框,一个按钮,点一下按钮,框里面出来一个hello, world!

于是我就很激动,原来是这么好玩的啊,貌似Python创建Silverlight控件写起来也很简单的哇,那我来搞两个复杂一点的控件。什么控件比较帅呢,我一想,日历吧,这个东西好,那我就开始了,我加了一行

好了,开始跑,咦,不对,说找不到Calendar这个东西,研究了一下文档,发现这个是包含在System.Windows.Controls.Extended.dll里面,于是我把这个dll拷到app目录下,还是不行,怪啊,这要怎么办呢,到处找了一遍,发现竟然没有有关Python调用SL扩展控件的文章,这可痛苦了。

但是我不甘心,我相信微软不会这么不友好,于是我继续查帮助,咦,Calendar前面要加一个前缀做命名空间,但是XAML头上怎么定义呢,我想了想,实在想不出来,然后我很猥琐地想到了Blend,嘿嘿,我下载了一个,安装,创建项目,然后创建控件,这个时候只有内部控件可以用,然后我在项目上添加引用到SDK目录下的System.Windows.Controls.Extended.dll,于是就可以创建日历了。

我要的可不是这个哦,切换到XAML栏,看到没有,这行代码:

xmlns:System_Windows_Controls_Extended="clr-namespace:System.Windows.Controls; assembly=System.Windows.Controls.Extended",原来就是它在起作用呵,于是我照样定义了一遍,仍然不行。。。

这是怎么回事?继续发奋研究文档,终于发现,在Python文件里面也要写东西的,我贴Python创建Silverlight控件的完整代码了哦,app.py

import clr

clr.AddReference("System.Windows.Controls.Extended")

from System.Windows import Application

from System.Windows.Controls import *

from System.Windows.Browser import *

class App:

def __init__(self):

self.scene=Application.Current.LoadRootVisual(Canvas(), "app.xaml")

def start(self):

# TODO: replace this with your application start logic

self.scene.TestButton.Click += self.TestButton_Click

def TestButton_Click(self, sender, eventArgs):

HtmlPage.Window.Alert(self.scene.TestCalendar.SelectedDate.ToString())

App().start()

呵呵,看到没有,最开始那两句,它是起作用的关键。下面是app.xaml

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:System_Windows_Controls_Extended="clr-namespace:

System.Windows.Controls;assembly=System.Windows.Controls.Extended"

x:Class="System.Windows.Controls.Canvas"x:Name="Page"Width="400"Height="300">

以上就是我们对Python创建Silverlight控件的相关介绍。

【责任编辑:曹凯 TEL:(010)68476606】

点赞 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RGB转LAB色彩空间

https://www.cnblogs.com/hrlnw/p/4126017.html 1.原理 RGB无法直接转换成LAB,需要先转换成XYZ再转换成LAB,即:RGB——XYZ——LAB 因此转换公式分两部分: (1)RGB转XYZ 假设r,g,b为像素三个通道,…

fileitem方法_FileItem的常用方法

下面介绍FileItem类中的几个常用的方法:1. isFormField方法isFormField方法用于判断FileItem类对象封装的数据是否属于一个普通表单字段,还是属于一个文件表单字段,如果是普通表单字段则返回true,否则返回false。该方法的完整语法…

python hack库_常用的Python库

Tkinter———— Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复…

Java异常介绍及Spring Boot统一异常处理

1. 异常介绍 Java异常处理是Java编程语言中用于处理程序运行时出现的异常情况的一种机制。异常情况指的是程序运行过程中出现的非正常情况,比如除以零、数组越界、空指针访问等。Java异常处理机制可以帮助程序员更好地管理这些异常情况,保证程序的稳定性…

React- jsx的使用可以渲染html标签 或React组件

React 的 JSX 使用大、小写的约定来区分本地组件的类和 HTML 标签。既渲染html标签需要使用小写字母开头的标签名而渲染本地React组件需要使用大写字母开头的标签名 注意: 由于 JSX 就是 JavaScript,一些标识符像 class 和 for 不建议作为 XML 属性名。作为替代&…

bigdecimal保留4位小数_四年级数学小数的加减乘法知识点汇总,带练习!

张老师 - 4年级(多品小学教育)顺城中心小学郭老师和环县虎洞中心小学谭老师需要的这份学习资料现在分享。本资料已制作电子版下载码是:76qa32vd《小数的加减乘法》知识点一、小数加、减法的计算法则(1)小数点要对齐,也就是相同数位要对齐;相同…

python 字符串 4位一组_Python基础4- 字符串

Python字符串是由数字、字母、下划线组成的一串字符,我们可以使用引号来创建字符串。如:str Helloworld在Python中没有char类型,单个字符也作为string使用;Python的字符串列表有2种取值顺序:A.自左向右,默认索引从0开始,索引长度最长为字符串长度-1B.自右向左,默认…

学python编脚本_python 学习写脚本

学习python中,练手!模拟注册登录的例子写的一个简单的脚本#!/usr/bin/env python#--coding: utf-8 --#如果需要开启输入密码不可见,请去掉所有含getpass的代码行的注释,并注释相关的行。此行为注释说明#import getpass#确认python…

毕业设计后续工作目标

周数 工作内容 10周 周一 1.需求调研模块:人员,设备,资金,日程的设置及进程管理 周二 1.需求分析和调研模块:完成用例图,交互图和用例文档的上传、查看及保存 周三 1.生成软件需求规格说明书&#…

vs未指定启动文件_高效开发利器之自定义模板文件

简介越来越多的设计模式, 最佳实践, 优化了软件开发方式, 提高了软件质量, 但是也带来了大量的类似的文件. 比如说: 现在都使用三层模式来开发Web程序, 都会有服务层(Service), DI的流行, 每个服务类都会自动注入一些固定的对象, 日志对象, 缓存对象等等. 实体类(Entity)到DTO对…

react-router 4.0 学习笔记

1、安装react-router-dom 2、页面上要使用的时候要引入  import {BrowserRouter as Router,Route,Link } from react-router-dom 3、使用的时候要在外层包一个<Router> 4、param 在路径上如果带有/:id类似这种的&#xff0c;要取值的时候&#xff0c;match.params.id取…

分数优先遵循志愿php源码_2021年南昌中考志愿填报指导,这七大要点你都了解吗?...

中考是孩子即将面对人生的第一个十字路口&#xff0c;家长们也因此开始为孩子的未来紧张。都说选择大于努力&#xff0c;给孩子选一个适合的学校也很重要&#xff0c;为了大家可以更好的填报志愿&#xff0c;小编为大家汇总了这份指南&#xff0c;快来一起看看吧~1、认清自己&a…

gin ip 和 本地访问的结果不一样_golang web开发——gin实战之整合swagger

背景如果我们之前搞过java web开发&#xff0c;我们应该都知道swagger这个API文档自动生成利器&#xff0c;有了swagger可以方便我们与客户端的联调&#xff0c;基本上是一目了然&#xff0c;swagger支持java&#xff0c;自然它也能支持golang的gin框架&#xff0c;本小节&…

常用运算符和表达式

运算符在程序中应用广泛&#xff0c;尤其在计算功能中&#xff0c;常常需要大量的运算符。运算符结合操作数&#xff0c;便形成了表达式&#xff0c;并返回运算结果。 一. 运算符 1.算术运算符 算术运算符用于对数值数据进行计算。 在C#语言中&#xff0c;根据两个操作数的类型…

python爬取淘宝数据魔方_淘宝数据魔方技术架构解析

淘宝网拥有国内最具商业价值的海量数据。截至当前&#xff0c;每天有超过30亿的店铺、商品浏览记录&#xff0c;10亿在线商品数&#xff0c;上千万的成交、收藏和评价数据。如何从这些数据中挖掘出真正的商业价值&#xff0c;进而帮助淘宝、商家进行企业的数据化运营&#xff0…

opencv 处理黑夜_1.1 OpenCV+Python引言篇(一)

OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库。无论你是做科学研究&#xff0c;还是商业应用&#xff0c;OpenCV都可以作为你理想的工具库&#xff0c;因为&#xff0c;对于这两者&#xff0c;它完全是免费的。该库采用C及C语言编写&#xff0c;可以在windows, l…

python字典导入mongodb_python连接mongoDB进行数据提取→常用操作指南

1. 连接mongo需要知道mongoDB的地址、端口、授权用户、授权密码。一般情况下&#xff0c;技术都会给到数据分析人员这些信息。python没有安装模块pymongo模块的&#xff0c;在cmd里面&#xff0c;pip install pymongo 进行安装。(具体操作可以自行百度)##导入连接mongo需要的模…

解决C语言程序报错:return type defaults to‘int’

下面是通过自定义一个函数printN&#xff0c;之后在main函数中调用printN&#xff0c;使得可以通过输入整数N&#xff0c;将从1到N的全部整数都打印出来的程序。 但是在编译过程中却报错&#xff1a; return type defaults to ‘int’ 产生报错的原因&#xff1a; printN的默认…

cif是目的港交货吗_刚接手出口业务,搞不懂FOB? CIF? 为你科普→

Export专用名词辨析01 名词辨析#FOBFOB(Free On Board)&#xff0c;含义是装运港船上交货&#xff0c;指卖方在合同规定的装运港负责将货物装上买方指定的船上&#xff0c;并负责货物装船之前的一切费用和风险&#xff0c;以及办理出口通关的相关事宜及费用&#xff0c;所以在实…

python字符串的表示形式_python - 如何为类对象创建自定义字符串表示形式?_class_酷徒编程知识库...

当前python 3的更新如下&#xff1a;class MC(type):def __repr__(self):return Wahaha!class C(object, metaclassMC):passprint(C)如果希望跨python 2和python 3运行的代码&#xff0c;则six模块将包含以下内容&#xff1a;from __future__ import print_functionfrom six im…