2

私の WPF アプリケーションでは、Unicode 文字 9837 ('♭') を TextBox に入力したいと考えています。(LeftAlt+9837 を使用して) 試してみると、テキスト ボックスに文字 'm' が代わりに表示されます。

TextBox の FontFamily を変更しようとしましたが、何も変わりませんでした。デバッグでは、TextBox は「♭」ではなく「m」という文字を受け取ります。

Microsoft Word で同じ操作 (LeftAlt+9837) を行うと、問題なく動作します。

何か案が?

編集: この文字を Word から TextBox にコピー/貼り付けできます。コピー/貼り付けせずに TextBox にユニコード文字を入力する方法が必要です。Alt+9837 を使用するのが最も簡単な方法だと思いましたが、どうやらうまくいかないようです。

次のコードを使用して、これを非常に簡単に再現できます。

MainWindow.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>

MainWindow.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