选中聚焦和文本时左文本对齐

时间:2014-11-18 20:23:16

标签: c# xaml silverlight textbox silverlight-5.0

所以这是我的问题。在包含TextBox的任何TextBox或控件上(例如,类似于RadComboBox的AutoComplete ComboBox,IsEditable =“True”),这是预期的行为,一旦您选择并突出显示文本,它就会向右对齐,以便您可以看到结束。 / p>

我所遇到的问题可以简单地用类似的东西来证明;

<TextBox Text="Blah1 Blah2 Blah3 Blah4 Blah5 Blah6 Blah7 Blah8 Blah9 Blah10" Width="75"/>

视觉参考;

enter image description here

所以当它显示时你只看到“Blah1 Blah2”,但是如果你选择/突出显示所有文本它会自动转到右对齐。对于大多数情况来说这是好的,但问题就像在这种情况下,用户希望能够选择/突出显示包含的文本并使其在选中/突出显示时保持左对齐并忽略溢出。 (编辑:不完全忽略溢出,只是不显示突出显示并保持左对齐)

我已经尝试过我所知道的程度,只是试图追捕无论行为是什么。有人知道一个方便的伎俩或某些我忽略的东西或什么?

1 个答案:

答案 0 :(得分:3)

好的,所以我花了一些时间来追捕罪魁祸首并找出解决方法,但这种方法对于我的问题的第一部分和第二部分都很愉快。

所有我最终为我的问题的第一部分(这是一个可编辑的组合框始终显示选择文本框的内容正确或居中对齐)是在controltemplate中附加一个事件触发器来设置SelectionStart \ {加载时{1}}为“0”。这基本上允许它被填充,然后把那该死的文本打回到左对齐,并且对我的***的痛苦不如预期。

所以像(伪);

SelectionLength
选择文字并将<ControlTemplate> <TextBox> <i:Interaction.Triggers> <i:EventTrigger EventName="Loaded"> <ei:ChangePropertyAction TargetName="PART_EditableTextBox" PropertyName="SelectionLength" Value="0" /> </i:EventTrigger> </i:Interaction.Triggers> </TextBox> </ControlTemplate> 设置为“0”时,或多或少都是同样的事情,得到了一些SL,感谢您的关注。