DataBinding学习之如何通过XAML来构建后台类对象?

遇到一个问题,如何在XAML中初始化类中的成员属性,换一种官方的说法,是通过XAML来构建后台类对象

首先分清wpf中的类

定义一个子类

cs 复制代码
    public class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
    }

如何在XAML中访问这个类?

XML 复制代码
<Window x:Class="Wpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="450" Width="800">
    <StackPanel Background="LightBlue">
        <StackPanel.DataContext>
            <local:Student Id="6" Age="29" Name="Tim"/>
        </StackPanel.DataContext>
        <Grid>
            <StackPanel>
                <TextBox Text="{Binding Path=Id}" Margin="5"/>
                <TextBox Text="{Binding Path=Name}" Margin="5"/>
                <TextBox Text="{Binding Path=Age}" Margin="5"/>
            </StackPanel>
        </Grid>
    </StackPanel>
</Window>

1、首先在XAML中增加一个映射

如果不在同一个程序集需要加上";assembly=程序集名称"。

我们需要为Student类重写一个合适的ToString

cs 复制代码
  public class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
        public override string ToString()
        {
            return string.Format("{0} by {1}\npublished {2}", Id, Name, Age);
        }
    }

ok然后就能运行出来了!

相关推荐
好奇龙猫6 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
saoys6 小时前
Opencv 学习笔记:图像掩膜操作(精准提取指定区域像素)
笔记·opencv·学习
电子小白1237 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
唯情于酒7 小时前
Docker学习
学习·docker·容器
charlie1145141919 小时前
嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值
开发语言·c++·笔记·学习·嵌入式·现代c++
IT=>小脑虎9 小时前
C++零基础衔接进阶知识点【详解版】
开发语言·c++·学习
#眼镜&9 小时前
嵌入式学习之路2
学习
码农小韩10 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
微露清风10 小时前
系统性学习C++-第十九讲-unordered_map 和 unordered_set 的使用
开发语言·c++·学习
wdfk_prog10 小时前
[Linux]学习笔记系列 -- [fs]seq_file
linux·笔记·学习