C# 聚焦并选择文本时的左文本对齐

C# 聚焦并选择文本时的左文本对齐,c#,xaml,silverlight,textbox,silverlight-5.0,C#,Xaml,Silverlight,Textbox,Silverlight 5.0,这就是我的问题。在任何包含文本框的文本框或控件上(例如,像RadComboBox这样的AutoComplete ComboBox,带有IsEditable=“True”),预期的行为是,一旦您选择并高亮显示文本,它将向右对齐,以便您可以看到结尾 我所面临的问题可以通过以下方式来证明: 视觉参照 因此,当它显示时,您只会看到“Blah1 Blah2”,但如果您选择/突出显示所有文本,它会自动向右对齐。这在大多数情况下都很好,但问题是在这种情况下,用户希望能够选择/突出显示包含的文本,并在选择/

这就是我的问题。在任何包含文本框的文本框或控件上(例如,像RadComboBox这样的AutoComplete ComboBox,带有IsEditable=“True”),预期的行为是,一旦您选择并高亮显示文本,它将向右对齐,以便您可以看到结尾

我所面临的问题可以通过以下方式来证明:

视觉参照

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


我已经尝试了我所知道的去做这件事的程度,只是想找出做这件事的行为。有人知道我忽略的一个小把戏或某个属性吗?

好吧,所以我花了一点时间找到罪犯并找出解决办法,但这种方法在我的问题的第一部分和第二部分都很有效

对于问题的第一部分(这是一个可编辑的组合框,始终显示selectiontextbox的右对齐或居中对齐的内容),我所做的就是在controltemplate中附加一个事件触发器,以在加载时将
SelectionStart
\
SelectionLength
设置为“0”。这基本上是允许它被填充,然后把那个该死的文本打回到左对齐,这对我的***来说并没有预期的那么痛苦

比如说(伪)


当选择了文本并将
SelectionStart
设置回“0”时,或多或少会遇到同样的情况,我喜欢上了一些SL,感谢您的关注

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