所以基本上,我有一堆文本框供用户填写。我有一个按钮,我想保持禁用状态,直到所有文本框都输入了文本。这是我正在使用的示例 XAML 文本框:
<TextBox Name="DelayedRecallScore" TextInput="CheckTextBoxFilled" Width="24" />
这是我试图触发的功能:
//Disables the OK button until all score textboxes have content
private void CheckTextBoxFilled(object sender, RoutedEventArgs e)
{
/*
foreach (TextBox scorebox in TextBoxList)
{
if (string.IsNullOrEmpty(scorebox.Text))
{
Ok_Button.IsEnabled = false;
return;
}
}
Ok_Button.IsEnabled = true;
*/
MessageBox.Show("THIS MAKES NO SENSE");
}
当应该触发 TextInput 时,MessageBox 未显示。作为一个实验,我尝试在 PreviewTextInput 上触发 CheckTextBoxFilled(),然后它运行良好,这意味着无论出于何种原因,该函数都没有被调用。我还有一个由 PreviewTextInput 触发的验证功能,它可以正常工作。起初我认为 PreviewTextInput 可能会以某种方式干扰 TextInput,所以我将 PreviewTextInput 从 TextBox 中移除,但这并没有解决任何问题。我完全被为什么会发生这种情况弄糊涂了,所以任何帮助都将不胜感激。