2010-11-02 58 views
2

如果我有,我想在通过对其内容的大小宽度来改变文本块,但我想正文块的左侧,以保持从一定间距容器的权利......这是如何完成的?我觉得我忽略了一些简单的东西。我特别使用WPF,如果这很重要。XAML - 一个正文块的左锚固到容器的右侧

回答

1

解决办法是到TextBlock放置StackPanel像这里面的: -

<StackPanel HorizontalAlighment="Right" Width="200"> 
    <TextBlock Text="Some Text or binding" /> 
</StackPanel> 

其中宽度200代表了你的固定距离想要TextBlock的左边框远离包含的元素的右边框。

+0

是的,这将做到这一点。猜测我很好奇,如果可以在文本块上设置直接属性来完成此操作,但我认为这将是唯一的方法。 THX – 2010-11-02 19:20:24

+0

@boomhauer:我猜你正在寻找类似的WinForms锚点特征。 WPF和Silverlight没有这个功能。 – AnthonyWJones 2010-11-02 22:14:04

+0

是的,我想是的。谢谢安东尼。 – 2010-11-03 21:33:21

0

尝试HorizontalAlignment财产。

HorizontalAlignment="Right" 

<Grid x:Name="LayoutRoot" Background="Yellow"> 
    <StackPanel 
     Background="AliceBlue" 
     Margin="50"> 
     <TextBlock 
      Text="Some text" 
      HorizontalAlignment="Right"/> 
     <TextBlock 
      Text="Some other longer text" 
      HorizontalAlignment="Right"/> 
    </StackPanel> 
</Grid> 

产生这样的输出:

alt text

+0

问题是:正文块的右侧将被改变,由于改变文本的长度。所以盒子的左侧将会跳起来。所以,我希望左侧是锚定在容器的右侧。跟随? – 2010-11-02 06:11:26

+0

我这么认为。尝试Horizo​​ntalAligment属性。 – 2010-11-02 06:15:49

+0

即时通讯寻找文本的左边缘保持放置,因此实际上左对齐。但是,左对齐距离容器右侧一定距离! – 2010-11-02 19:21:29