【问题标题】:Writing ¼ in xaml textbox在 xaml 文本框中写入 ¼
【发布时间】:2013-12-09 11:49:47
【问题描述】:

我的用户希望能够在 xaml 文本框中输入 ¼ 等特殊字符。 我可以在这里和现在通过按住 left-alt 并写 172 来写这个问题 - 这将产生一个 '¼'

但是在我的 xaml 文本框中,当我这样做时,什么也没有发生。我使用 WPF/XAML: 我的用户如何编写特殊的 ASCII 或 unicode 字符?

  <TextBox x:Name="_text"
                     Text="{Binding ..., UpdateSourceTrigger=PropertyChanged}"
                     MaxLength="..."
                     Style="{StaticResource NoteInputStyle}" 
                     Margin="1"
                     MinHeight="40"
                     MaxHeight="80" />

 <Style x:Key="NoteInputStyle"
           TargetType="TextBox"
           BasedOn="{StaticResource TextBoxInputStyle}">
        <Setter Property="AcceptsReturn"
                Value="True" />
        <Setter Property="AcceptsTab"
                Value="True" />
        <Setter Property="ScrollViewer.VerticalScrollBarVisibility"
                Value="Auto" />
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility"
                Value="Auto" />
        <Setter Property="TextWrapping"
                Value="WrapWithOverflow" />

<Style x:Key="TextBoxInputStyle" TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}">
        <Setter Property="FontFamily" Value="Calibri"/>
        <Setter Property="FontSize" Value="12"/>
        <Setter Property="ToolTipService.ShowOnDisabled" Value="True"/>
     <Setter Property="Validation.ErrorTemplate" Value="{StaticResource ValidationErrorTemplate}"/>
        <Style.Triggers>
            <Trigger Property="IsReadOnly" Value="True">
                <Setter Property="Background" Value="{StaticResource ReadOnlyBrush}" />
                <Setter Property="BorderBrush" Value="{StaticResource InputBorderBrush}"/>
            </Trigger>
            <Trigger Property="IsReadOnly" Value="False">
                <Setter Property="Background" Value="{StaticResource InputBrush}" />
                <Setter Property="BorderBrush" Value="{StaticResource InputBorderBrush}"/>
            </Trigger>
        </Style.Triggers>
    </Style>

    </Style>

我确实尝试过用谷歌搜索,但发现的信息很少。一击声称WPF实际上不支持这一点?!?

【问题讨论】:

  • 我尝试了一个示例应用程序,它似乎可以正常工作!我在 VS 2010 中尝试使用 .net 4 和 .net 3.5 作为目标框架。我的 Binding 没有任何验证,我也可以在 ViewModel 属性中看到相同的数据 (¼)。你的验证中有什么东西拒绝了这个值?

标签: c# wpf xaml ascii


【解决方案1】:

WPF 将使用 Unicode 而不是 ASCII....

根据 CHARMAP 程序,使用 Calibri 字体的“Vulgar Fraction Quarter”的 Alt 组合是 Alt + 0188

运行 CharMap

点击高级视图,然后在搜索框中输入 Vulgar Fraction

当你点击一个项目时,它会告诉你击键。

【讨论】:

  • 有趣的是,当我在 WPF TextBox 中同时编写 Alt-172 和 Alt-0188 时,我得到 '¼'。
  • @MartinLiversage 哪种字体?
  • 这是默认的 WPF TextBox,所以字体必须是 Segoe UI。但是,我相信字体无关紧要,除非 ¼ 不存在。然后它将被“缺失字形”字符替换。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 2017-05-16
  • 2013-10-14
  • 2016-01-08
相关资源
最近更新 更多