Avalonia UserControl (用户控件)
ava中的用户控件和wpf中的作用一致
一般用来制作页面
新建一个页面
<UserControl ... > <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock Text="这是一个用户控件" /> <Button Name="btn1" Content="按钮" /> </StackPanel> </UserControl>
在页面的后台代码中根据名字获取控件
var btn1 = this.FindControl<Button>("btn1"); btn1.Click += (s, e) => { btn1.Content = Guid.NewGuid().ToString(); };
在主窗口中引用用户控件
using后跟上控件的命名空间
xmlns:local="using:AvaloniaApplication2" <Panel> <local:UserControl1 /> </Panel>
2024.10.26 一些新发现
<!-- 上面的 x:DataType 用于编译时绑定 --> <!-- 这里的 UserControl.DataContext 用于设计器和运行后指定vm --> <!-- 如果这里不指定 DataContext ,那么他会尝试寻找嵌套的父窗口的vm,会直接报错,因为vm类型不一致 --> <!-- 如果不在这里指定,那也要在后台代码里指定 --> <Design.DataContext> <vm:UserControl1ViewModel /> </Design.DataContext>
分类:
Avalonia
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步