在我的 WPF 应用程序中,我想在 TextBox 中输入 unicode 字符 9837 ('♭')。当我尝试(使用 LeftAlt+9837)时,文本框改为显示字符“m”。
我试图改变 TextBox 的 FontFamily 但它没有改变任何东西。在调试中,TextBox 接收字符“m”而不是“♭”。
在 Microsoft Word 中执行相同的操作 (LeftAlt+9837) 效果很好。
任何想法?
编辑:我可以将此字符从 Word 复制/粘贴到 TextBox 并且它可以工作。我需要一种在 TextBox 中输入 unicode 字符而不复制/粘贴它的方法。我认为使用 Alt+9837 是最简单的方法,但显然它不起作用。
我可以使用以下代码很容易地重现这一点:
主窗口.xaml
<Window x:Class="WpfApplication8.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" Name="Me">
<Grid>
<TextBox Text="{Binding ElementName=Me, Path=MyText, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</Window>
主窗口.xaml.cs
public partial class MainWindow
{
public static readonly DependencyProperty MyTextProperty =
DependencyProperty.Register("MyText", typeof(string), typeof(MainWindow));
public string MyText
{
get { return (string)GetValue(MyTextProperty); }
set { SetValue(MyTextProperty, value); }
}
public MainWindow()
{
InitializeComponent();
}
}