具有IsDefault和IsDefaulted的按钮之间的区别是什么?

时间:2013-09-02 18:27:46

标签: wpf

有人能更好地解释我吗?

我只是阅读文档并不太了解。

2 个答案:

答案 0 :(得分:8)

如果将IsDefault设置为true,则按钮将成为窗口的默认按钮,即如果当前焦点不在任何接受ENTER键的可聚焦控件上时按下ENTER键,则会触发按钮单击事件。如果由于此默认操作可以触发按钮单击事件,则IsDefaulted将为true,否则将为false。这意味着如果默认按钮在这种情况下具有焦点,IsDefaulted将为false,因为默认情况下不会触发事件。

IsDefaulted是readonly属性,它仅告知在当前焦点状态下是否可以默认点击该按钮,即当Button没有焦点时,可以在按下时按下按钮点击事件。 IsDefault我们可以设置为true,如果我们想要该按钮应具有此默认行为,即按下ENTER键并且甚至按钮未处于焦点按钮单击应该被触发。我们设置了IsDefault。一旦设置为true,IsDefault将保持为真,但IsDefaulted将根据当前关注的控件更改其值。

答案 1 :(得分:6)

IsDefault确定该按钮是否为Window的“默认”按钮。如果true为真,则IsDefaultedIsDefault 并且当前具有焦点的控件不接受ENTER按键。

一般情况下,如果IsDefaulted为真,则表示按Enter键会在该时间点触发该按钮。