WPF文本entrie字段

时间:2015-12-16 05:07:09

标签: wpf xaml

是否可以使用文本框(或其他内容)输入用户地址,每个条目都在单独的行中?并将最大行数设置为3行(适用于街道,城市和州)。 请注意,我不是在寻找其他解决方案,而是准确地将某些文本输入字段放在单独的行中,如:

1234一些街道 一些城市 一些国家

谢谢,

3 个答案:

答案 0 :(得分:1)

我建议使用3个不同的文本框,每个项目一个(街道,城市和州),但如果必须是1个框,则可以将AcceptsReturn设置为true并将maxlines设置为3以确保它们只输入1地址。

<TextBox x:Name="textBox" HorizontalAlignment="Left" Height="23" Margin="74,72,0,0" 
             TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120" MaxLines="3" AcceptsReturn="True"/>

答案 1 :(得分:1)

您可以明确区分文本字段:

<StackPanel>
    <TextBox Name="addr1" KeyUp="Enter_KeyUp"></TextBox>
    <TextBox Name="addr2" KeyUp="Enter_KeyUp"></TextBox>
    <TextBox Name="addr3" KeyUp="Enter_KeyUp"></TextBox>
</StackPanel>

手动按下Enter键:

    private void Enter_KeyUp(object sender, KeyEventArgs e) {
        if (e.Key == Key.Enter) {
            var request = new TraversalRequest(FocusNavigationDirection.Next);
            (sender as UIElement).MoveFocus(request);
        }
    }

答案 2 :(得分:1)

考虑Casey Price建议使用多行文本框,并将其与数据验证相结合。

请参阅http://blog.magnusmontin.net/2013/08/26/data-validation-in-wpf/,其中包含优秀的数据验证大纲。