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