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