Попытка ввода любых данных в TextBox с помощью IME (японский язык, хирагана) вызывает сбой приложения с ошибкой MDA FatalExecutionEngineError.
У меня есть два текстовых поля в окне.Я начинаю вводить данные в алфавитно-цифровом режиме в первое поле, а когда длина текста достигает 2, установите фокус на второе поле.Вернитесь в первое поле, используя комбинацию клавиш Shift + Tab, переключитесь в режим хирагана и попытайтесь ввести любые данные.
Мое окно:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<TextBox Grid.Row="0" Margin="5" x:Name="field1" TextChanged="Field1_OnTextChanged" />
<TextBox Grid.Row="1" Margin="5" x:Name="field2" />
</Grid>
</Window>
За кулисами:
namespace WpfApplication1
{
using System.Windows.Controls;
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
}
private void Field1_OnTextChanged(object sender, TextChangedEventArgs e)
{
if (field1.Text.Length == 2)
{
field2.Focus();
}
}
}
}
Сообщение об ошибке содержит следующие сведения: Помощник по управляемой отладке 'FatalExecutionEngineError' обнаружил проблему в '[путь к исполняемому файлу]'.
Дополнительная информация: во время выполнения обнаружена фатальная ошибка.Адрес ошибки был 0x6cee610f в потоке 0x254c.Код ошибки 0x80131623.Эта ошибка может быть ошибкой в CLR или в небезопасных или не поддающихся проверке частях пользовательского кода.Распространенными источниками этой ошибки являются ошибки пользовательского маршалинга для COM-взаимодействия или PInvoke, которые могут повредить стек.