WPF文本框和下拉框无法使用搜狐输入法输入的解决方案
可能是因为该代码没有设置输入法属性,导致无法使用搜狐输入法输入。可以尝试在创建文本框和下拉框时,设置输入法属性为搜狐输入法,例如:
var text = new TextBox()
{
Margin = new Thickness(0, 5, 0, 5),
FontSize = 17,
Foreground = Brushes.Blue,
VerticalAlignment = VerticalAlignment.Center,
Width = 80,
InputMethod.IsInputMethodEnabledProperty = true,
InputMethod.InputMethodPreference = new InputMethod { PreferredImeState = InputMethodState.On }
};
Grid.SetRow(text, i);
Grid.SetColumn(text, j * 3 + 1);
grid.Children.Add(text);
同样的,在创建下拉框时也需要设置输入法属性。
示例代码:
Grid grid = new Grid();
grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(70) });
grid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
grid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
grid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
grid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
grid.RowDefinitions.Add(new RowDefinition() {});
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
// 创建TextBlock
TextBlock textBlock = new TextBlock()
{
Text = '指标维护',
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center,
FontSize = 25,
Foreground = Brushes.Blue
};
Grid.SetRow(textBlock, 0);
Grid.SetColumn(textBlock, 0);
Grid.SetColumnSpan(textBlock, 12);
grid.Children.Add(textBlock);
string[] strName = { ' IL', 'ISO', 'DIR' };
for (int i = 1; i <= 3; i++)
{
for (int j = 0; j < 4; j++)
{
var textTitle = new TextBlock()
{
Margin = new Thickness(20, 5, 0, 5),
FontSize = 17,
Foreground = Brushes.Blue,
Text = strName[i - 1] + (j + 1).ToString() + ':',
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center
};
Grid.SetRow(textTitle, i);
Grid.SetColumn(textTitle, j * 3);
grid.Children.Add(textTitle);
var text = new TextBox()
{
Margin = new Thickness(0, 5, 0, 5),
FontSize = 17,
Foreground = Brushes.Blue,
VerticalAlignment = VerticalAlignment.Center,
Width = 80,
InputMethod.IsInputMethodEnabledProperty = true,
InputMethod.InputMethodPreference = new InputMethod { PreferredImeState = InputMethodState.On }
};
Grid.SetRow(text, i);
Grid.SetColumn(text, j * 3 + 1);
grid.Children.Add(text);
var textuit = new TextBlock()
{
Margin = new Thickness(0, 5, 0, 5),
FontSize = 17,
Foreground = Brushes.Blue,
Text = 'nm',
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center
};
Grid.SetRow(textuit, i);
Grid.SetColumn(textuit, j * 3 + 2);
grid.Children.Add(textuit);
}
}
原文地址: https://www.cveoy.top/t/topic/knp8 著作权归作者所有。请勿转载和采集!