如何从两个按钮更改一个编辑表单

本文关键字:一个 表单 编辑 两个 按钮 | 更新日期: 2023-09-27 18:29:48

我有两个WPF表单。在表单1中,我有2个按钮(添加、编辑),在表单2中,我有3个字段。当我点击2个按钮中的1个时,打开窗体2。如何使,当我在第二种形式中单击按钮Add时,所有字段都是IsEnabled="True"',但当我单击Edit按钮时,1个字段在第二形式中是IsEnabled="False"!?10倍

如何从两个按钮更改一个编辑表单

首先,创建一个要绑定到的公共bool属性:

private bool canEdit = false;
public bool CanEdit
{
    get { return canEdit; }
    set { canEdit = value; NotifyPropertyChanged("CanEdit"); }
}

然后将其绑定到TextBox控件的IsEnabled属性:

<TextBox IsEnabled="{Binding CanEdit, RelativeSource={RelativeSource FindAncestor, 
AncestorType={x:Type YourXmlNamespace:YourParentForm}}}" />

然后,只需在Click处理程序或Command处理程序中将其设置为true,即可启用TextBox控件:

CanEdit = true; // Makes TextBox.IsEnabled = true

注:

可能更喜欢为单击编辑按钮时应启用的一个控件添加另一个bool属性。此外,可能更喜欢使用IsReadOnly属性而不是IsEnabled

更新>>>

我假设你的第二个表单是从你的第一个表单启动的,或者它们都是从其他地方启动的。。。在这种情况下,您可以将属性添加到父窗体,并使用示例中显示的RelativeSource绑定从子窗体绑定到它。您可以绑定