WPF基础知识
可以使用XAML创建任何类,必须是友好声明,构造函数没有参数的。
XAML就是.NET语言的一种表现形式。只是和C#书写格式不一样而已。
根元素的标记、主窗体标记
x:class、StartupUri="Window1.xaml"
一元素,特性
1、XAML中一个元素可以理解为程序中的一个对象,里面包含对象的类型
特性(元素的特性):一个对象的Public属性
附加特性:解析到附加特性时将执行一个对应的事件。
Grid.SetRow(控件, 行)
2、程序运行时会自动创建根据XAML中的元素、特性自动创建对象并 设置对象的值。
3、子元素:
3.1、内容
3.2、集合(IList、IDictionary)
3.3、转换
对象元素的子元素XAML处理规则
IList
IDictionary
内容属性
转换
二。命名空间
1、和C#编程环境一样,引用那个对象需要首相将对象的命名空间添加到当前单元、XAML
也需要添加单元引用,只是格式和C#程序环境有点差别。
两个通用的命名空间:
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
2、引用其他命名空间格式:
xmlns:自定义=“clr-namespace:对象的命名空间;assembly=DLL名称”
如果本程序集可以省去assembly
三。扩展标记
1.、应用:设置属性值使用
2、扩展标记类必须从System.Windows.Markup继承
3.、使用“{Markup 参数}”
4、执行:创建“Markup”实例->调用Providevalue过程获取参数中的值。
5、binding留在以后章节。
四。动态加载XAML(XamlReader XamlWrite)
XamlReader.Load()//边加载,边解析 XamlWrite.Save(windows)
动态加载例子:
// Get the XAML content from an external file.
FileStream s = new FileStream("Window1.xml", FileMode.Open);
DependencyObject rootElement = (DependencyObject)
XamlReader.Load(s);
this.Content = rootElement;
// Find the control with the appropriate name.
//button1 = (Button)LogicalTreeHelper.FindLogicalNode(rootElement, "button1");
FrameworkElement frameworkElement = (FrameworkElement)rootElement;
button1 = (Button)frameworkElement.FindName("button1");
// Wire up the event handler.
button1.Click += new RoutedEventHandler(button1_Click);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!