数据绑定
SimpleBinding\MainWindow.xaml
| <Window x:Class="SimpleBinding.MainWindow" |
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
| xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" |
| xmlns:local="clr-namespace:SimpleBinding" |
| mc:Ignorable="d" |
| Title="MainWindow" Height="350" Width="525"> |
| |
| <Window.Resources> |
| <local:Person x:Key="MyDataSource" PersonName="Joe"/> |
| </Window.Resources> |
| <Border Margin="5" BorderBrush="Aqua" BorderThickness="1" Padding="8" CornerRadius="3"> |
| <DockPanel Width="200" Height="100" Margin="35"> |
| <Label>Enter a Name:</Label> |
| <TextBox> |
| <TextBox.Text> |
| <Binding Source="{StaticResource MyDataSource}" Path="PersonName" |
| UpdateSourceTrigger="PropertyChanged"/> |
| </TextBox.Text> |
| </TextBox> |
| <Label>The name you entered:</Label> |
| <TextBlock Text="{Binding Source={StaticResource MyDataSource}, Path=PersonName}"/> |
| </DockPanel> |
| </Border> |
| </Window> |
SimpleBinding\Person.cs
| using System.ComponentModel; |
| using System.Windows; |
| using System.Windows.Interop; |
| |
| namespace SimpleBinding |
| { |
| |
| |
| |
| |
| public class Person : INotifyPropertyChanged |
| { |
| private string _name; |
| |
| public Person() |
| { |
| MessageBox.Show("Person()", "y/n", MessageBoxButton.YesNo); |
| } |
| |
| public Person(string value) |
| { |
| _name = value; |
| } |
| |
| public string PersonName |
| { |
| get { return _name; } |
| set |
| { |
| _name = value; |
| |
| OnPropertyChanged("PersonName"); |
| } |
| } |
| |
| |
| public event PropertyChangedEventHandler PropertyChanged; |
| |
| protected void OnPropertyChanged(string name) |
| { |
| MessageBox.Show("OnPropertyChanged", "y/n", MessageBoxButton.YesNo); |
| var handler = PropertyChanged; |
| handler?.Invoke(this, new PropertyChangedEventArgs(name)); |
| } |
| } |
| } |
执行流程

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2023-01-30 fastapi_socketio_chatroom