1
beginor 40 天前 via Android
关注,没用过 Ava ,准备入坑
|
2
chenxuuu 40 天前
编译绑定会检查你的代码,没办法推断类型的话就编译不过去,只有两个解决方案:
1. 把编译绑定关了,速度慢一点,一般情况下感知不到 2. 手动加类型指定好,就是你搜到的方案 |
3
chenxuuu 40 天前
另外可以针对某个 usercontrol 单独关闭编译绑定,不用改全局配置
https://docs.avaloniaui.net/zh-Hans/docs/basics/data/data-binding/compiled-bindings |
4
hez2010 40 天前
因为 $parent[ItemsControl].DataContext 的类型是 object ,而 object 类型并没有叫做 ParentCommand 的成员,所以没法绑定到 ParentCommand 上去。你可以先做一次类型转换再绑定就可以了,就是你发的那个 {Binding $parent[ItemsControl].((vm:ParentViewModel)DataContext).ParentCommand}。
推荐你打开 CompiledBindings ,可能会导致需要在 xaml 里插入一些类型 hint ,但是如果你开了 CompiledBindings 的话你的 app 就是 AOT 兼容的,可以直接编译到本机二进制代码而无需 runtime 就能运行。 |