Vì vậy, về cơ bản, tôi có một loạt các TextBoxes mà người dùng nhận được để điền vào. Tôi đã có một nút mà tôi muốn giữ cho đến khi tất cả các TextBoxes đã có văn bản được nhập vào chúng. Đây là một mẫu XAML TextBox mà tôi đang sử dụng:WPF: Hộp văn bản không kích hoạt sự kiệnTextInput
<TextBox Name="DelayedRecallScore" TextInput="CheckTextBoxFilled" Width="24" />
Và đây là chức năng mà tôi đang cố gắng để kích hoạt:
//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");
}
Các MessageBox không hiển thị khi TextInput nên được nhận được kích hoạt. Như một thử nghiệm tôi đã thử kích hoạt CheckTextBoxFilled() trên PreviewTextInput, và nó hoạt động tốt sau đó, có nghĩa là vì lý do gì đó, chức năng này không được gọi. Tôi cũng có một hàm xác nhận được kích hoạt bởi PreviewTextInput, hoạt động như nó cần. Lúc đầu, tôi nghĩ rằng PreviewTextInput bằng cách nào đó có thể can thiệp với TextInput, vì vậy tôi đã PreviewTextInput ra khỏi TextBox, nhưng điều đó đã không quản lý để sửa chữa bất cứ điều gì. Tôi hoàn toàn bị quấy rầy bởi lý do tại sao điều này có thể xảy ra, vì vậy bất kỳ trợ giúp nào cũng sẽ được đánh giá cao.
điều gì đã xảy ra với đại biểu đa phương tiện? tại sao nó sẽ không cháy người dùng được giao sự kiện ngoài của riêng mình? –