双向绑定(WPF)一半在代码中,一半在XAML中

本文关键字:一半 代码 XAML 绑定 WPF | 更新日期: 2023-09-27 18:07:33

我得到了这个XAML:

<Window.Resources>
        <local:Member x:Key="currentMember" x:Name="currentMember" SubscriptionDate="{x:Static sys:DateTime.Now}" />
    </Window.Resources>

之后,在StackPanel中:

<StackPanel DataContext="{StaticResource currentMember}">
<TextBox x:Name="Name" Text="{Binding Path=Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></TextBox>
<Button Click="DoStuff">do stuff</Button>

现在,例如,我想改变名称文本框,当我按下按钮(使用数据绑定):

private void DoStuff(object sender, RoutedEventArgs e)
{
    Member currentMember = (Member)this.Resources["currentMember"];
    currentMember.Name = "Cristiano"; //Doesn't work
}

怎么了?

双向绑定(WPF)一半在代码中,一半在XAML中

成员类实现INotifyPropertyChanged吗?可能是问题是因为成员类没有继承INotifyPropertyChanged.