-2

我有 2 个 WPF 表单。在 form1 中,我有 2 个按钮(添加、编辑),在 form2 中,有 3 个字段。当我单击 2 个按钮中的 1 个时,打开 form2。如何制作,当我点击按钮Add in second form 时,所有字段都是'IsEnabled="True"',但是当我点击Edit按钮时,1 个字段是IsEnabled="False"在第二个表单中!?10倍

4

1 回答 1

0

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

private bool canEdit = false;

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

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

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

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

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

笔记:

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

更新>>>

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

于 2013-09-02T08:28:00.260 回答