如何制作一个比其父版本更宽的TextBox?

时间:2011-12-01 16:08:59

标签: wpf textbox

有什么方法可以让WPF TextBox动态增长超出其父级的范围?

例如,我允许用户输入可能很长(宽)的XPath字符串,我想要发生两种可能的事情之一:

  1. 当用户键入一定数量的字符时,文本框可能会变宽。 或
  2. 当用户最初点击文本框时,它会“弹出”并且非常宽,比容器宽。
  3. 这可能吗?

2 个答案:

答案 0 :(得分:3)

您可以设置负边距,使其比其父级增长更宽。

<Grid>
    <Grid Margin="50">
        <TextBlock Margin="0,0,-50,0" Text="This is a very long text." />
    </Grid>
</Grid>

答案 1 :(得分:0)

您可以尝试以下操作:

  1. ParentControl TextBox放在Canvas内。
  2. 使用相对于 ParentControl 的固定或动态坐标找到TextBox
  3. TextBox Z-Index设置为 ParentControl 的更高值。
  4. 根据TextBox事件重新定位和/或花费TextBox