大贤者
精华
|
战斗力 鹅
|
回帖 0
注册时间 2020-10-21
|
本帖最后由 冰箱研会长e-3M 于 2021-2-19 11:44 编辑
前情提要
总之...在解决了数据的问题之后一切都在朝着良好的方向前进,
今天上午还觉得也许明天下午之前就能写一个能用的版本放出0.1 release.
不想最后的最后, 卡在了treeview这个XAML控件上...
TreeView view如其名, 是个树状结构,
树这个东西, 很自然的, 你会期待它能点选各个节点做一些操作对吧?
UWP这个TreeView, 想做到返回被点击的节点, 有三种方法.
MSDN推荐的方法是使用 invokeditem, 返回一个object, 然后转化成treeviewnode,
有了node之后就可以在树里自由窜弄了.
然而这个object仅限于那么几种, 如果你构建树的object不合适, 那么 as 转化类型的时候就会把值编程null, 没戏.
这个不行, 成, 反正invokeitem可以触发, 那我就在这个方法里用treeview本体的selecteditems不就可以了嘛,
然而一顿操作下来, debug.writeline输出全是 null null null.
改了将近半个下午无果, 开始百度, 查到这个题目, 当treeview的选择模式为单选时, selecteditems永远为空....
合着这是让我碰到BUG了, 2019年(新鲜的bug), 似乎在新版XAML里已经修复了,
那就是说我这里的XAML还是老版本.
下新版win10 SDK, 把目标指向2004版本, 更新所有nuget包, 无果,
如果仔细看看MSDN, 按照winui页面上的指示来的话说不定也能弄出来, 然而目前是还未成功 (不知道有没有人可以指导一下 > <).
还有就是题目里的workaround, 既然所有的item都有isselected属性, 那你遍历他们不就完事了...
这个方法... 听上去就让人不想用了...
总而言之, 感觉气炸了, 等精神力恢复过来,
摆脱掉这个treeview好了...
现在心里夹杂着 "在充分期待之后却无法完成的失落" "错的不是我是UWP" 等无法的情感,
完全写不了代码, 只能上论坛无能狂怒一下.
----
刚才看了一遍发现上面这段话好多缺字错字,
不改了, 这也是情感表达的一部分.
-----
问题已经解决 不过这肯定是我最后一个UWP
安装最新winui 2.5 然后
- xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
- using muxc = Microsoft.UI.Xaml.Controls;
复制代码
使用muxc空间里的treeview就可以了
|
|