Metro App创建电子邮件地址条目Xaml Control

时间:2013-04-02 05:42:54

标签: xaml microsoft-metro winrt-xaml

如何创建Control来输入电子邮件地址,类似于在stackoverflow上捕获广告代码的方式?

我正在使用C#和Xaml。

2 个答案:

答案 0 :(得分:0)

您将需要:

TextBox(显示您可以输入的输入区域)

弹出窗口(显示像StackOveflow一样的TextBox下面的建议)

ItemsControl(它进入Popup,所以你可以只收集项目并显示它们,注意ItemsPanel应该是GridView)

然后您将需要自定义Button,一旦添加了标记,它将叠加在TextBox的顶部。您需要计算按钮的宽度(宽度)并用空格填充TextBox,以进一步推进光标。

您还需要控制正在按下的键。

答案 1 :(得分:0)

您所追求的效果可能是您识别完整的电子邮件地址,并以自定义方式呈现它们。我会通过从文本框中删除已完成的地址,并将它们包装在蒙皮标签(或者可能是带有删除按钮的自定义控件)中来完成此操作。

最直接的方法是将文本框实现为带边框的DockPanel,表明它是一个文本框。在DockPanel的左侧,您有一个StackPanel,您可以在其中从左到右堆叠已完成的地址控件。然后添加一个包含DockStyle=Fill的文本框,以填充DockPanel的剩余部分。检测到输入的电子邮件地址后,您将从文本框中删除字符,并将匹配的控件添加到StackPanel

可能有一种方法可以更改文本框内容而不会失去焦点,否则您需要通过代码修复此问题。

祝你好运!