wpf学习20180606
对象元素的子元素
有三类子元素:内容属性、集合项、值(类型转换)
-----------------------------------------------------------------------------
内容属性
元素对象有Content或Items属性的,这就是内容属性,可以包含元素对象或文本。
集合项
两种类型的集合:List、Dictionary
类型转换
普通文本作为元素的子元素。
---------------------------------------------------------------------------
xaml元素必须有默认构造函数
-------------------------------------------------------------------------------------------------
运行时加载和解析XAML
使用代码解析加载XAML文件
XamlReader对象
如果项目根目录有个Win.xaml的文件,用代码解析载入并显示。
Window win = null;
using(FileStream fs = new FileStream ("Win.xaml", FileMode.Open, FileAccess.Read))
{
win = (Window)XamlRead.Load(fs);
win.show();
}
注意事项:FileStream的命名空间System.IO;XamlRead的命名空间System.Windows.Markup;
使用文件流,需要读取物理文件,所以Win.xaml需要调整设置,复制到输出目录:始终复制;生成操作:无。
这些设置在页面的属性设置中。同时要删除页面的后置代码文件。Win.xaml要删除xmlans=class""的设置。+
win.xaml的xmal代码
<Window>
<StackPanel>
<Button>
......
<Button>
.......
......
</Window>
如何找到第二个按钮并给按钮设置文本
win = (Window)XamlRead.Load(fs);
StackPanel sp = (StackPanel)win.Content;
Button btn = sp.Children[1];
btn.Content="找到";
这是根据子集的个数顺序硬编码找对象,有更简单的方法吗?有
----------------------------------------------------------------------------------------
Xaml元素命名
<Window>
<StackPanel>
<Button>
......
<Button X:Name="btn1">
.......
......
</Window>
win = (Window)XamlRead.Load(fs);
Button btn = (Button)win.FindName("btn1");
btn.Content="找到";
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2013-06-06 想转软件行业。年龄大是硬伤。