【问题标题】:WPF, Characters run from right-to-left when input text in TextBoxWPF,在TextBox中输入文本时,字符从右到左运行
【发布时间】:2018-07-19 07:00:44
【问题描述】:

我在 TextBox 中有绑定

<TextBox x:Name="TbxActiveSourceNameSourceNameSourceName" IsEnabled="True" Text="{Binding ViewAudioAudio_ActiveSourceNameModel.ActiveSourceName_SourceName,UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Padding="0,-2,0,0" Height="15" VerticalAlignment="top" Margin="127,10,0,0" FontSize="10" BorderBrush="#FF918D8D" TextAlignment="Center" Width="75px" HorizontalAlignment="Left" HorizontalContentAlignment="Right" />

但是字符从右到左运行。 当我在文本框中输入单词时,我必须如何让字符从左到右(正常)运行 非常感谢

【问题讨论】:

  • 谢谢您的回复。我试过了,但是不行
  • 如果是可能是绑定。
  • 如何设置这个属性:ViewAudioAudio_ActiveSourceNameModel.ActiveSourceName_SourceName?
  • 模型和View Audio之间的绑定
  • 删除PropertyChanged 解决问题的事实(在您的一个cmets 中说明)表明您可能在ActiveSourceName_SourceName 的属性设置器中做了一些奇怪的事情。 IE。该代码是否尝试以任何进一步的方式操作或处理输入的文本?有关相关问题,请参阅 stackoverflow.com/questions/5394170/…

标签: wpf


【解决方案1】:

我知道这是个老问题,但如果有人遇到这个问题,它恰好可以处理

<TextBox Text={..., UpdateSourceTrigger=PropertyChanged}

似乎当属性通过击键更改时,它会自动检测属性更改,因此它也会更新它绑定的属性。因此,它将光标重置到文本框的最左侧,而不是离开上次离开的位置。

或者至少我只能通过将文本框更改为文本块然后返回文本框并将 UpdateSourceTrigger 更改为不是 PropertyChanged 的​​类型来重现此问题 并且会纠正问题并使文本从右向左流动。

【讨论】:

    【解决方案2】:

    FlowDirection 属性设置为LeftToRight。参考here

    【讨论】:

    • 尝试将HorizontalContentAlignment 也设置为Left
    • 还是不行。如果我在 Binding 中删除 UpdateSourceTrigger=PropertyChanged,文本将从左到右运行。但我无法删除它。请帮帮我
    • 您的财产返回什么?
    • 它在我输入时返回窗口上的文本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 2014-08-14
    • 2014-12-07
    • 2022-01-13
    相关资源
    最近更新 更多