2

在我的 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();
    }
}
4

0 回答 0