Win10UWP的文本框好坑!

tmp00000 UID.995403
2015-09-20 发表

TextBox.SelectionStart居然认为CrLf是一个字符!从WPF迁移来的项目全部中枪!
加载1MB的文本,WPF版用时3秒,加载完可以直接编辑。UWP的加载用10秒,加载完随便点里面一个字然后滚动一下鼠标,整个应用就卡住了,卡20秒才恢复过来!!!

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
tmp00000 UID.995403
2015-09-20 回复

更坑的是,读取文件的时候原本权限是正常的,结果AOT编译后拒绝访问!这是什么情况啊

口****西 UID.1133266
2015-09-20 使用 Lumia 930 回复

可以去开发者论坛区,应该有这个区哇

tmp00000 UID.995403
2015-09-21 回复

我现在发现个更坑的事情,文本框居然有行数限制!!!超出一定行数的文字变成透明!简直坑啊!

qiqiminmin UID.638527
2015-09-22 回复

专门有关门 long string, textblock读取的文章的,
最多好像4096px还是1024px,记不得太清,首先你还需要measure,普通方法是放到一个stackpanel里面,不停的添加textblock,而不是把所有的string放到一个textblock里面的,目前很多的平台,安卓和ios, long string,都是需要处理的,直接放进去都是不行的,desktop的就另外一回事了。

tmp00000 UID.995403
2015-09-22 回复

本帖最后由 tmp00000 于 2015-9-22 13:40 编辑

Quoteqiqiminmin 发表于 2015-9-22 08:53
专门有关门 long string, textblock读取的文章的,
最多好像4096px还是1024px,记不得太清,首先你还需 ...


原来是这样啊,谢谢。看来我确实需要把文本分割成一块一块的再放到合适的容器控件里。

qiqiminmin UID.638527
2015-09-23 回复

Quote***链接停止解析***
原来是这样啊,谢谢。看来我确实需要把文本分割成一块一块的再放到合适的容器控件里。 ...


不过我建议你可以往html5转,这些问题就都不不是问题了,天花板就是系统的内存了。

学过C#的,再去写javascript,完全0压力,最近我的项目都转到html5了,win10跟爽的是,库可以用C#,界面用html5 + javascript

tmp00000 UID.995403
2015-09-23 回复

本帖最后由 tmp00000 于 2015-9-23 21:01 编辑

Quoteqiqiminmin 发表于 2015-9-23 07:19
不过我建议你可以往html5转,这些问题就都不不是问题了,天花板就是系统的内存了。

学过C#的,再去写jav ...


JavaScript和H5我大三再学。现在我先把Xaml搞精再说。毕竟桌面上的WPF不支持H5,而Xaml受到支持。
我现在处于vb.net,xaml,c#,c++,hlsl(按照我的代码量从高到低排序)五种语言混着用的状态,再加个js和h5我估计会写晕。

qiqiminmin UID.638527
2015-09-24 回复

Quotetmp00000 发表于 2015-9-23 20:56
JavaScript和H5我大三再学。现在我先把Xaml搞精再说。毕竟桌面上的WPF不支持H5,而Xaml受到支持。
我现在 ...


只要不是搞嵌入式,现在转还来得及。 我今天刚发布了一个R语言的在线终端应用,还想写个东西说为什么从 xaml 转到 html5。 有些东西你挖空心思用xaml弄个东西 html5是分分钟。

vbfool UID.352791
2015-09-24 回复

Quote***链接停止解析***
只要不是搞嵌入式,现在转还来得及。 我今天刚发布了一个R语言的在线终端应用,还想写个东西说为什么从 x ...


用HTML5分分钟的东西,基本WPF也是分分钟的好吧。

tmp00000 UID.995403
2015-09-24 回复

Quoteqiqiminmin 发表于 2015-9-24 13:32
只要不是搞嵌入式,现在转还来得及。 我今天刚发布了一个R语言的在线终端应用,还想写个东西说为什么从 x ...


我感觉不一定非要转。Xaml半天搞不定H5能搞定的顶多有个3D绘图。转过去还要面临其它问题,比如将WPF应用转换为h5无法实现,调用本地的自定义库麻烦,js与其它语言的代码转换问题...................

tmp00000 UID.995403
2015-09-24 回复

Quotevbfool 发表于 2015-9-24 14:21
用HTML5分分钟的东西,基本WPF也是分分钟的好吧。


尤其是前台(包括视图和小部分的视图模型)代码的转换,这个特别头疼。js的很多特性倾向于动态弱类型,语法接近c#。但是windows商店平台主流的c#是动态强类型,c++静态强类型,vb可以通过编译选项调节这个特性,默认是动态弱类型。
从js转换为c#和vb改动不大,转换c++头大。
但是反过来呢?无论是哪个语言向js转换都有很大的阻碍,除非用TypeScript代替js来让c#和vb代码可以更容易地转换成js。

qiqiminmin UID.638527
2015-09-24 回复

Quotevbfool 发表于 2015-9-24 14:21
用HTML5分分钟的东西,基本WPF也是分分钟的好吧。


你分分钟弄个code editor吧

tmp00000 UID.995403
2015-09-24 回复

Visual Studio 2015的文字编辑器和各种设计器都是用WPF写的,直接引用一下它的文字编辑组件,然后拖控件。完成。

tmp00000 UID.995403
2015-09-24 回复

Quoteqiqiminmin 发表于 2015-9-24 18:48
你分分钟弄个code editor吧


自己写也是有办法的。用Roslyn分析一下语法树,然后用RichTextBox控件呈现文本。不清楚最省事的呈现结构就复制一下vs2015打开的某段代码到某个RichTextBox,然后分析它的层次结构,再仿写一下。

qiqiminmin UID.638527
2015-09-24 回复

Quotetmp00000 发表于 2015-9-24 18:38
尤其是前台(包括视图和小部分的视图模型)代码的转换,这个特别头疼。js的很多特性倾向于动态弱类型,语法 ...


如果你一味着总是考虑桌面软件,大可以完全用wpf, 你不是在做文档编辑吗?我问你同样的问题,win 10 app里,怎么做个 code editor呢? 查查资料 看看现状吧。

qiqiminmin UID.638527
2015-09-24 回复

Quotetmp00000 发表于 2015-9-24 18:57
自己写也是有办法的。用Roslyn分析一下语法树,然后用RichTextBox控件呈现文本。不清楚最省事的呈现结构 ...


你去发布一个win 10 app的行吗?

vbfool UID.352791
2015-09-24 回复

Quote***链接停止解析***
你分分钟弄个code editor吧


AvalonEditor啊,我觉得够好了吧。

qiqiminmin UID.638527
2015-09-24 回复

Quote***链接停止解析***
AvalonEditor啊,我觉得够好了吧。


。。。。。。。。。。。我少了几个字,麻烦您用 windows 10 uwp............

tmp00000 UID.995403
2015-09-24 回复

本帖最后由 tmp00000 于 2015-9-24 19:21 编辑

Quoteqiqiminmin 发表于 2015-9-24 19:12
你去发布一个win 10 app的行吗?


我已经克服了我遇到的困难。载入文本时先分块,然后绑定到一个ListBox就可以了,数据模板用TextBox可以用x:Bind优化性能。如果要染色就模仿vs2015的做法,分块后的文本要再按照想显示的颜色分块,每大块文本绑定到一个Paragraph,大块中小段的文本绑定到Span或Run。

qiqiminmin UID.638527
2015-09-24 回复

Quote***链接停止解析***
我已经克服了我遇到的困难。载入文本时先分块,然后绑定到一个ListBox就可以了。如果要染色就魔方vs2015 ...


您想得美。。。
市面上有多少种 编程语言? 瞧瞧我现在回复用的对话框里的,code highlight....是啥。code editor可以实时highlight,还可以编辑

[mw_shl_code=html,true]<html>这是html</html>[/mw_shl_code]


[mw_shl_code=c,true]
var test = 5;[/mw_shl_code]

vbfool UID.352791
2015-09-24 回复

Quote***链接停止解析***
。。。。。。。。。。。我少了几个字,麻烦您用 windows 10 uwp............


不过如果真照你这么说,我一样可以说麻烦你用HTML5+js做一个flvplayer出来啊。总觉得这样有点抬杠。

这种关键不还是属于“没人做”么?如果真是无法实现的话,UWP的Word是又怎么做到的呢?

tmp00000 UID.995403
2015-09-24 回复

Quoteqiqiminmin 发表于 2015-9-24 19:22
您想得美。。。
市面上有多少种 编程语言? 瞧瞧我现在回复用的对话框里的,code highlight....是啥 ...


你这是在调用写好的东西。uwp要是可以调用Word的文字显示引擎是不是比你的办法更牛?

vbfool UID.352791
2015-09-24 回复

Quote***链接停止解析***
你这是在调用写好的东西。uwp要是可以调用Word的文字显示引擎是不是比你的办法更牛? ...


说白了是积累比较多的缘故。
如果不是工作压力,我还真想去试试移植AvalonEditor到UWP上。

qiqiminmin UID.638527
2015-09-24 回复

本帖最后由 qiqiminmin 于 2015-9-24 19:32 编辑

Quote***链接停止解析***
不过如果真照你这么说,我一样可以说麻烦你用HTML5+js做一个flvplayer出来啊。总觉得这样有点抬杠。

这 ...


大哥,您用网页能打开的任何flv的网站就是flvplayer了,就不要浪费时间了。。。。。。。。。 因为我并不是说html5 + js是万能,但是您能浏览器上做的几乎任何事都是可以用html5的。

我一直想做个, 汇智网的那样在线编程终端,很不幸,我用html5 + js实现了一个 R语言的,而且更进一步,还可以使用 plot作图,我只是从自身体验感到,html5 + js在UI方面,优点太多。

windows 10 ump的js最不幸的,是可以直接调用其它的 runtime conponent.....,

当然,如果您xaml更顺手,没有冒犯的意思,建议看看html5 + js。。。。。。。。。不喜欢也没事。

qiqiminmin UID.638527
2015-09-24 回复

Quote***链接停止解析***
你这是在调用写好的东西。uwp要是可以调用Word的文字显示引擎是不是比你的办法更牛? ...


用你自己觉得好的就行了,我只给了一次建议而已。

qiqiminmin UID.638527
2015-09-24 回复

本帖最后由 qiqiminmin 于 2015-9-24 19:37 编辑

Quote***链接停止解析***
说白了是积累比较多的缘故。
如果不是工作压力,我还真想去试试移植AvalonEditor到UWP上。 ...


你终于说到点子上了。这也是我劝学生,而不是劝你的原因。 学生好的是,早点选好道路。。。。。。。。。。。。。。。。。

C, VB, VC, C++, C#, XAML, 估计搞windows的,几乎每个人都弄过,还弄个后遗症,看到java就像吐。还好javascript和C语言差不多,还能接受。

vbfool UID.352791
2015-09-24 回复

Quote***链接停止解析***
你终于说到点子上了。这也是我劝学生,而不是劝你的原因。 学生好的是,早点选好道路。。。。。。。。。 ...


关键是这样搞,一辈子跟在人家屁股后边跑,而且一旦让你改什么东西,根本就是两眼摸黑。
我见得多了,觉得这也不行那也不行,XX不给开放接口,结果搞到最后,根本是他自己不懂。

qiqiminmin UID.638527
2015-09-24 回复

Quote***链接停止解析***
你这是在调用写好的东西。uwp要是可以调用Word的文字显示引擎是不是比你的办法更牛? ...


还有,不算我没有提示你,现在微软的word也在用winjs重写了,我只能说这么多了。。。。。。。。。。

qiqiminmin UID.638527
2015-09-24 回复

Quote***链接停止解析***
关键是这样搞,一辈子跟在人家屁股后边跑,而且一旦让你改什么东西,根本就是两眼摸黑。
我见得多了,觉 ...


{:6_217:} ,请您继续写Windows 10 UWP,希望您多多发布应用。加油。。。。

tmp00000 UID.995403
2015-09-24 回复

Quoteqiqiminmin 发表于 2015-9-24 19:34
你终于说到点子上了。这也是我劝学生,而不是劝你的原因。 学生好的是,早点选好道路。。。。。。。。。 ...


看到Java要吐倒不至于,毕竟它还是能用的。Html5和js制作Windows商店应用这条路是给想顺手开发个网页应用和用网页应用打包出安卓和IOS应用的人准备的。typescript调windows运行时组件我知道是通过应用程序服务这个章节的知识完成的。xaml + c# + vb + c++ 这条路是给windows 桌面开发者准备的。我把h5和js自学放到大三的原因是我以后打算学网络方向,正好顺着老师的课练习。h5和js可以通过WebView控件嵌入到Xaml的视图里,h5和js嵌入Windows Xaml没有嵌入Sliverlight那么容易,但是通过导航API还是可以切换页面的。所以我打算两条线路都自学一下。

vbfool UID.352791
2015-09-24 回复

Quote***链接停止解析***
看到Java要吐倒不至于,毕竟它还是能用的。Html5和js制作Windows商店应用这条路是给想顺手开发个网页应用 ...


说的也不算完全对,WinJS这个是微软专门为了做UWP而魔改的一套js库,里边的大部分东西都不是标准的js,而是把Win10的runtime做的封装,用它做UWP,也完全没Xaml什么事了,不是你想的放个WebView再和Xaml交互的模式,它调用Runtime库和用Xaml+C#做应用调用runtime是一样的。
WinJS本身还是有限制的,它还是无法调用一部分UWP的API的(官方文档里有提到),这也就是我说的“HTML5+JS很难做出个flvplayer”,因为Win10Mobile是没有flash控件的,要做你还是要动用runtime来写个库支持,但是我并不确定配合Runtime库就能调用那些原本不能用的API了。

qiqiminmin UID.638527
2015-09-24 回复

Quote***链接停止解析***
看到Java要吐倒不至于,毕竟它还是能用的。Html5和js制作Windows商店应用这条路是给想顺手开发个网页应用 ...


为什么 Xaml, C# , VB, C++ 弄一起的. 特别是 VB和C#在一起用????
你其实可以在周围找个真正厉害的编程的,给你梳理一下思路,并不是什么都学会就好。

qiqiminmin UID.638527
2015-09-24 回复

Quote***链接停止解析***
说的也不算完全对,WinJS这个是微软专门为了做UWP而魔改的一套js库,里边的大部分东西都不是标准的js,而 ...


有种东西叫做 socket.io, 有种东西叫做 internet....
我不想多说了。

qiqiminmin UID.638527
2015-09-24 回复

本帖最后由 qiqiminmin 于 2015-9-24 21:05 编辑

Quote***链接停止解析***
说的也不算完全对,WinJS这个是微软专门为了做UWP而魔改的一套js库,里边的大部分东西都不是标准的js,而 ...


呵呵,其实用来调用 C#, C++编写的flv 的conponent,是戳戳有余的。

没你想得那么玄乎,其实就是个人爱好啦,如果你更怀念你的WPF,喜欢Xaml的感觉,

用那种感觉吧,

我是今年有个项目要生成pdf,没法子啊。 自己嵌入了个webview,调用javascript的pdf库,低成本的完成了。。。。。(市场上只有商业pdf runtime库, WPF有itextSharp不过毕竟是桌面,不过itextSharp有mono版的,很不幸的是windows runtime,因为限制太多,就连itextsharp的作者都服了。)
所以,自己也就专门关注html + js, 特别是了解了 angular和ionic之后, 整个UI方面, html5 + js,真的是做的很不错,而且发展很快,用WPF和Xaml相关的东西,很多时候越来越有闭门造车的感觉,nuget里面很多常用库,都是10年以前; html5 + js,一个积累很多,一个发展特别快,n多人一起在发展, 比如如今最流行的在线课堂, Learning By Doing, 运用html5+js搭建了更好的学习工具,而且里面的内容就以html5 js为主。

汇智网, code school, data camp, 都可以看看, 甚至可以试试 koding 这个网站 。 没有谁什么都懂,都在不停的学习,但是wpf能在哪营造互相学习的环境?

顺便提一下,windows 10使用html5有两种方法: 【1】在webview中放入,【2】完全使用winjs(skype, office runtime应用都是这么写的)

tmp00000 UID.995403
2015-09-25 回复

本帖最后由 tmp00000 于 2015-9-25 00:25 编辑

Quoteqiqiminmin 发表于 2015-9-24 20:10
为什么 Xaml, C# , VB, C++ 弄一起的. 特别是 VB和C#在一起用????
你其实可以在周围找个真正厉 ...


一起用是有我的理由的。我打vb代码特别熟练,也特别喜欢vb的语法,本来想vb完成大部分 xaml搞界面 c++搞性能敏感的数据处理 hlsl搞特效和硬件加速 的。但是有些人写的库不规范,在clrcall的函数公开了指针类型和cdecl约定的变长参数(包括微软官方的库,System.IO.UnmanagedMemoryStream的某个构造函数有System.Void*,要用纯vb代码得反射),我又懒得写那么多c++代码,就顺手把c#用了。
我这边环境比较恶劣,好几个自称比较会编程的研究生说vb和c#是“玩具“或“Rubbish“,f#是啥不知道,mono是啥没用过,vb6是拖控件,webform是拖控件,asp.net不安全,swift“没人学“,python比js牛,微软平台是玩具厂,c++和java有点卵用,用c和汇编然后设计点电路插到电脑上“加速“是王道....光知道吹自己算法和电路多牛,在Linux平台运行得多稳定,简直是给开源社区抹黑。
他们简直像是被精神控制了一样。当他们的软件被“玩具“枪狙杀和被轨道“Rubbish“雨砸扁时都不会醒悟。
对微软平台友好点的是我们院的副院长和两位经常看招聘信息的辅导员。但是副院长到退休年龄仍坚持给我们教《数据结构》,我知道她快学不动新技术了。辅导员没学过相关技术,只能告诉我哪里有要.net程序员的公司,自己的项目应该发布到哪家商店风险低 之类的信息。

qiqiminmin UID.638527
2015-09-25 回复

本帖最后由 qiqiminmin 于 2015-9-25 01:35 编辑

呵呵,您这位同学太有意思。还能写这么多东西。 为了以后生存,极力建议你早点 html5 + js.

为了以后生存,可以多看看市面上需要啥,特别多看英文的资料。国内有个网站叫做 汇智网,很不错,就是在线教编程。看看他们教什么的多,你也大概知道趋势是啥了。

tmp00000 UID.995403
2015-09-25 回复

本帖最后由 tmp00000 于 2015-9-25 14:11 编辑

Quoteqiqiminmin 发表于 2015-9-25 01:14
呵呵,您这位同学太有意思。还能写这么多东西。 为了以后生存,极力建议你早点 html5 + js.

为了以后生存 ...


有个趋势是html5+ccs3+js制作全平台的应用,包括3D游戏。要是某个公司让我做这个开发我没意见。但是我感觉某些方面html5还是不能取代xaml。尤其是电脑上windows 7用户占55%,土掉渣的XP占20%这种形势下,使用xaml可以让.net 4.6桌面应用与.net core 5.0商店应用重用一些UI代码,至少windows vista sp2以上的系统都能运行我的软件。手机用h5和js更危险,因为一旦游戏被破解就能被轻松"移植"到某个我不知道的服务器上"照顾"盗版玩家。

wcavell UID.34926
2015-09-25 回复

Quote***链接停止解析***
有个趋势是html5+ccs3+js制作全平台的应用,包括3D游戏。要是某个公司让我做这个开发我没意见。但是我感 ...


在我眼中 HTML5 目前在移动端有明显的“性功能障碍”

qiqiminmin UID.638527
2015-09-25 回复

Quote***链接停止解析***
在我眼中 HTML5 目前在移动端有明显的“性功能障碍”


{:6_218:} 各有所需,但是WinJS的性能可不必 C# + Xaml的差太多,调用的是相同的东西,也可以直接调用C++ runtime component...
太固步自封,( ̄▽ ̄)", 我也不太好说。。。。。。。。。

估计您都没像上面那位同学看看微软官方资料吧

qiqiminmin UID.638527
2015-09-25 回复

本帖最后由 qiqiminmin 于 2015-9-25 20:54 编辑

Quote***链接停止解析***
有个趋势是html5+ccs3+js制作全平台的应用,包括3D游戏。要是某个公司让我做这个开发我没意见。但是我感 ...


.............................................
嗯,多去看看xp的编程吧, 你需要多练练WPF, VB6.0,多说无益

wcavell UID.34926
2015-09-25 回复

Quote***链接停止解析***
各有所需,但是WinJS的性能可不必 C# + Xaml的差太多,调用的是相同的东西,也可以直接调用C+ ...


我看你也看不懂我表达吧,我也只是在说HTML5。winjs只是winjs.

tmp00000 UID.995403
2015-09-25 回复

本帖最后由 tmp00000 于 2015-9-25 22:48 编辑

Quoteqiqiminmin 发表于 2015-9-25 20:21
.............................................
嗯,多去看看xp的编程吧, 你需要多练练WPF, VB6.0,多 ...


vb6我现在不打算用了,IDE的bug一堆堆的,写得好好的突然给我来个内存溢出,想吓死我啊。针对xp设计的软件我不打算制作了。越是惯着那些xp老顽固,他们就越用xp。

qiqiminmin UID.638527
2015-09-25 回复

Quote***链接停止解析***
我看你也看不懂我表达吧,我也只是在说HTML5。winjs只是winjs.


是我没完全看懂您,我也没表达清楚。


( ̄▽ ̄)",这么说吧,我用了xaml不少的时间的,我的第一个上20万用户的软件,腹肌是怎么炼成的,发布都有4年多时间了,我内心深处也是喜欢xaml的,不说自己多么厉害,叫我用xaml模仿出ios的UI,毫无压力。

但是html5 + css3, 在UI上面有先天的优势,特别是用了angularjs之后

我举个例子吧,如果用xaml显示一个列表,自己还想根据需要显示自己的数据, C#里面要运用 obsevecollection, model里面也要注意 propety notify,
在xaml里面还要改 Datatemplate,我现在都不打这些代码了,因为没那么方便,我举举html5的例子,是怎么弄得

js:
[mw_shl_code=csharp,true]$scope.items = [{class:'className1', title:'title1'},{class:'className1', title:'title2'},{class:'className1', title:'title2'}];[/mw_shl_code]

html5
[mw_shl_code=html,true]<div ng-repeat="item in items">
<div class="{item.class}" >
{{item.title}}
</div>
</div>
[/mw_shl_code]

我想许多写过xaml的,看到这些,会觉得是自己曾经梦寐以求的东西吧。而且css把 style 和html分开,可以更好的管理的自己的UI。。。
也许我更偏向于UI,但是我想xaml本身就是UI吧,并不能代表所有人,也有许多人就喜欢xaml的麻烦和代码不方便管理,那就是另外一码事了。

tmp00000 UID.995403
2015-09-25 回复

Quoteqiqiminmin 发表于 2015-9-25 20:21
.............................................
嗯,多去看看xp的编程吧, 你需要多练练WPF, VB6.0,多 ...


我家里买电脑比较晚,刚买半年我就用上win7了。xp这个系统我根本不会用,在学校的破xp机房开个浏览器都不知道在哪开,屏幕分辨率不会改,控制面板找东西半天翻不着,更别说开发了。
我从高二开始就放弃了windows xp开发,直接把最低需求设想为windows 7。到现在我上大二了,我的软件最低需求是vista sp2,可以说是几乎没变。

tmp00000 UID.995403
2015-09-25 回复

Quoteqiqiminmin 发表于 2015-9-25 22:46
是我没完全看懂您,我也没表达清楚。



样式与可视树分离xaml也行,用资源字典。

wind UID.62
2015-09-25 使用 Lumia 930 回复

楼上几位聊得好嗨皮。。

qiqiminmin UID.638527
2015-09-25 回复

本帖最后由 qiqiminmin 于 2015-9-26 00:37 编辑

Quote***链接停止解析***
样式与可视树分离xaml也行,用资源字典。


xaml可以实现所有的东西,因为xaml也是xml, 大家都一样,相比 html就是没有css,而且html5现在还有sass,。。。。

您很执着是很好的,但你觉得你能完全用wpf写 uwp吗?不行,为什么?

看看html的样子怎么实现吧,我随便举例吧,btn意思是 按键style, btn-dark是黑的按键style 你可以在class任意添加,有无数种style,就可以添加无数种style.


[mw_shl_code=html,true]class="btn btn-dark"[/mw_shl_code]


这个xaml的例子,还是StaticResource, 有时还要用 RelativeResource, 还要选择 mode. 如果有 convert, 还要添加 covert class 实体,一个简简单单东西,硬是被折磨成这个样子。
到处都是 StaticResource, 到处都是 Converter.,我还没加上列表的呢。
<Page.Resources>
<local:YesNoToBooleanConverter x:Key="YesNoToBooleanConverter" />
</Page.Resources>
<StackPanel Margin="10">
<TextBox Name="txtValue" />
<WrapPanel Margin="0,10">
<TextBlock Text="Current value is: " />
<TextBlock Text="{Binding ElementName=txtValue, Path=Text, Converter={StaticResource YesNoToBooleanConverter}}"></TextBlock>
</WrapPanel>
<CheckBox IsChecked="{Binding ElementName=txtValue, Path=Text, Converter={StaticResource YesNoToBooleanConverter}}" Content="Yes" />
</StackPanel>


最重要一点,只要理论上有一台可以运行浏览器的电脑,你就可以进行软件开发,只是在发布时在win10上调试调试就行了。这不,我都发布了,就在智机网,我昨天发布的, 纯js + html5.


还有, 比如列表 排序,以前我们都需要重新更新数据源。 瞧瞧html可以怎么弄吧
Order你可以随时改,这也是为什么很多开发者不愿意开发win10软件的原因,也是为什么微软弄个winjs... 如果你体验过这些这么方便的方法,再去看xaml,想想他们心里有多翻腾了。
[mw_shl_code=html,true]<div ng-repeat="item in items | orderBy:order">
<div class='textbox'>{{item.textValue}}</div>
<ion-checkbox ng-model="item.isChecked">{{YesNoToBooleanConverter(item.isChecked) }}</ion-checkbox>
</div>[/mw_shl_code]

ston****ntao UID.894587
2015-09-26 使用 Lumia 1520 回复

Quoteqiqiminmin 发表于 2015-9-24 13:32
只要不是搞嵌入式,现在转还来得及。 我今天刚发布了一个R语言的在线终端应用,还想写个东西说为什么从 x ...


嵌入式,老老实实用着c,偶尔用用c++....

tmp00000 UID.995403
2015-09-26 使用 Lumia 1520 回复

本帖最后由 tmp00000 于 2015-9-26 10:40 编辑

Quoteqiqiminmin 发表于 2015-9-25 23:30
xaml可以实现所有的东西,因为xaml也是xml, 大家都一样,相比 html就是没有css,而且html5现在还有sass,。 ...


要批量更改控件外观,在它们的上级附加的资源字典写个没有x:Key的Style来批量设置它们的模板和其它属性就行了。也可以覆盖某些已存在的资源批量替换颜色,画刷等。YesNoConverter这个可以用模板化控件解决,也可以对YesNo本身处理,让它能被转换为Boolean?,再重载一下ToString,这样默认的转换器也能正常工作。当然,如果真的遇到xaml写起来费劲的页面,使用Frame.Navigate跳转到h5页面或者用其它办法嵌入h5页面也是个好办法。
排序是ViewModel的工作,借助linq一行代码完事,扔给View也行,只是有点...反模式的感觉

qiqiminmin UID.638527
2015-09-26 回复

本帖最后由 qiqiminmin 于 2015-9-26 11:34 编辑

Quote***链接停止解析***
要批量更改控件外观,在它们的上级附加的资源字典写个没有x:Key的Style来批量设置它们的模板和其它属性就 ...


( ̄▽ ̄)",所以我早提过有喜欢麻烦的人。。。 我说的可不是批量更改控件外观,而是实时改变某个控件式样,仅仅因为你改变了数据源。。。。。。。。。。。是 items里的某个item, 因为xaml的数据绑定先天不足,造成了bing越来越麻烦,越来越不实用。

自己静下心来考虑考虑吧。有没有发现,ios, android, html5应用,都大量的有 重新排序,而且压力不大,为何win10的就似乎麻烦,因为你要重新设置数据源,习惯就用LINQ, 而其他的都是考虑sqlite。

还有麻烦您,下次还打这么多字的时候,打几排程序,如果比我举得例子更方便,那岂不更好???( ̄▽ ̄)"。。。。。。。。字多并没有说服力的。。。。。。。。。。。。。


你就把我举得例子,列表中每项, 有一个checkbox, 两个textbox, 而且把 checkbox转换成 字符 yes or no, 就这么简单,自己试试看。。 items里面就3个。 我想这都够容易了吧。试试需要多少代码; 然后时间有多的话,查查 angularjs里的 ng-repeat 怎么弄。

tmp00000 UID.995403
2015-09-26 回复

Quoteqiqiminmin 发表于 2015-9-26 11:02
( ̄▽ ̄)“,所以我早提过有喜欢麻烦的人。。。 我说的可不是批量更改控件外观,而是实时改变某个控件式 ...


<StackPanel Margin="20">
<local:YesNoCheckBox x:Name="Select1" Content="选一下"/>
<TextBlock Text="{Binding ElementName=Select1, Path=Check,Mode=OneWay}"/>
<TextBlock Text="{Binding ElementName=Select1, Path=Check,Mode=OneWay}"/>
</StackPanel>
这个YesNoCheckBox是事先写好的,继承自Checkbox。在需要的时候添加共享项目引用就可以用。Check是它的新属性,用于表示转换为文字的选择状态。

qiqiminmin UID.638527
2015-09-26 回复

内容已屏蔽

tmp00000 UID.995403
2015-09-26 回复

本帖最后由 tmp00000 于 2015-9-26 19:55 编辑

Quoteqiqiminmin 发表于 2015-9-26 18:34
拜托, 您这叫显示 列表?
这是我的。



显示列表?给外面加个ListBox,ListBox.DataTemplate里面填我的代码就行了。这个不用写完整代码你也明白的。排序在CodeBehind写。

qiqiminmin UID.638527
2015-09-26 回复

本帖最后由 qiqiminmin 于 2015-9-26 20:48 编辑

Quote***链接停止解析***
显示列表?给外面加个ListBox,ListBox.DataTemplate里面填我的代码就行了。这个不用写完整代码你也明白 ...


我说这么多,是想告诉您,xaml,没您想的那么方便,特别是对于移动应用开发来说。我对于xaml的看法是,微软会把他淘汰的。

正好给自己打打广告吧,我想这才是我的主要目的吧,我把应用换成html5, 我整个软件开发更顺畅了,特别是UI,数据处理更不用说,完全网络化,

主界面,滑动还是老样子,最好的是,通过使用html5,即使在win10下也没有那个难看的滑动进度条,用鼠标就行
***附件停止解析***




菜单界面, 呵呵,弹出效果自己比较满意,再也不要满眼的Storyboard,因为动画都是在css里了
注意我名字和头像信息那一块,虚化也是css里实现的,o(^▽^)o,而且可以动态了。o(^▽^)o,特满意
***附件停止解析***


计划界面,得以于angular的ng-if和可以做到很多不错的效果,特别是数据过滤和选择,虽然在xaml可以把visibility绑定,但我已经烦了每次新建数据还要考虑 property是能够更新的。
***附件停止解析***



还有bootstrap和ionic里的 auto fix, 注意高级那个标签把中级的标签往上推的效果,虽然也要理解,自己稍微加工,但比起xaml来讲。xaml是能用,html5是好用。 能用的意思,不能为之而为之。 好用的意思,就是天生就能用。
***附件停止解析***



还有我最满意的就是这个了,这个人体肌肉图,是由二十多个肌肉svg图组成,你可以找个肌肉图,或者网上的肌肉图,自己画成svg,,以前在xaml里我还要转成canvas, 工具还是我自己开发的。
每当你点肌肉,可以自动过滤范围,记住我可没有在自己js上更新数据源,一切都是在html5上表达就行,因为不需要。我自己以前当过业余美工,那么,美工与程序员在html5和js上可以更好的开发,xaml+C#,要扯不少皮的。
***附件停止解析***
***附件停止解析***

o(^▽^)o,广告打完了,自己还要继续努力开发。

tmp00000 UID.995403
2015-09-26 回复

Quoteqiqiminmin 发表于 2015-9-26 20:28
我说这么多,是想告诉您,xaml,没您想的那么方便,特别是对于移动应用开发来说。我对于xaml的看法是,微 ...


我大概明白你的意思了。你在说h5的拓展库比xaml的多并且好用。
你间接教我了一招:如果遇到肌肉图这种html5有比较强的svg解析库但是xaml没有的问题,我会在中间搞个比较大的Frame或WebView(UWP)/WebBrowser(WPF),然后让它导航到用html5+css3+winjs的页面。
这样就既可以避免winjs的各种调用和编写限制,语法我不喜欢等问题 也能用html5现有的软件包。

qiqiminmin UID.638527
2015-09-26 回复

Quote***链接停止解析***
我大概明白你的意思了。你在说h5的拓展库比xaml的多并且好用。
你间接教我了一招:如果遇到肌肉图这种htm ...


我极力建议你尽早看html5+js,以前我在国内的时候,你张开不谈架构,闭口不谈内核,都显得你档次低,什么html5+js是非常低级别的东西,顶多是个搭建网站的。
我以前也是很瞧不起html5+js的,我现在觉得自己错了,早点看,早点理解,会对你有好处的。特别是像开发移动应用的,如果你只是弄桌面应用那就随笔了。

tmp00000 UID.995403
2015-09-26 回复

Quoteqiqiminmin 发表于 2015-9-26 21:35
我极力建议你尽早看html5+js,以前我在国内的时候,你张开不谈架构,闭口不谈内核,都显得你档次低,什么h ...


那我抽空看看。就当是预习大三功课了。以后我要用行动证明xaml与html混合才是最时候我的。
我自己的原则:
能少敲键盘少敲(这是我选vb的原因,托Intellisense的福,大多数情况下vb可以比c#少敲几次键盘),
代码可读性越高越好(最好不加注释过一两年也能轻松看懂而且尽量少 数括号),
能调用库就调用(xaml没有就用html的凑),
写出的程序只要别性能低下(我眼中的《数据结构》,《算法导论》...和 c++,HLSL... 主要就是用来提高性能的)或者代码中少量的反模式影响维护就想怎么折腾就怎么折腾。

tmp00000 UID.995403
2015-09-27 回复

本帖最后由 tmp00000 于 2015-9-27 00:50 编辑

Quoteqiqiminmin 发表于 2015-9-26 21:35
我极力建议你尽早看html5+js,以前我在国内的时候,你张开不谈架构,闭口不谈内核,都显得你档次低,什么h ...


我刚把入门教程看了。html开发uwp似乎不支持asp.net的vbhtml和cshtml ... 看来这个没那么容易习惯。
不过我已经成功把Html5和WinJs嵌入到Xaml页面了,并且能通过vb代码动态生成html代码,有点vbhtml的感觉!

qiqiminmin UID.638527
2015-09-27 回复

本帖最后由 qiqiminmin 于 2015-9-27 01:07 编辑

Quote***链接停止解析***
我刚把入门教程看了。html开发uwp似乎不支持asp.net的vbhtml和cshtml ... 看来这个没那么容易习惯。
不过 ...


您是一个非常有趣的喜欢编程的人。。 想象得出,当您上班后,项目经理和team leader的表情。

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报