Looking for a WPF control similar to Gmail's recipient input box

Hey guys, I’m working on a WPF project and I’m trying to find a control that works like the recipient input box in Gmail. You know, the one where you can type email addresses and it turns them into little boxes?

I want something where users can enter multiple contacts, and each contact becomes a removable item in the input field. It should also have a dropdown for suggesting contacts as you type.

I’ve seen this kind of thing in Facebook too, where you can add multiple people to a message or post.

Has anyone come across a library or component that does this in WPF? I’ve been searching but haven’t found anything quite right. Any suggestions would be super helpful!

Thanks in advance for any ideas or recommendations!

hey, i’ve used the xceed wpf toolkit before. it has a watermarktextbox that might work for ya. you can customize it to show little boxes for emails and add a dropdown for suggestions. it’s not perfect but with some tweaking it could do what u need. worth checkin out imo

I’ve encountered a similar requirement in a project I worked on. We ended up using the Telerik RadAutoCompleteBox control, which is part of their WPF suite. It provided most of the functionality out of the box, including turning entered items into removable tokens and offering suggestion dropdowns.

The downside is that it’s a commercial control, so there’s a cost involved. However, if your project budget allows for it, it can save a significant amount of development time. The control is highly customizable, so you can style it to match Gmail’s look if needed.

If you’re looking for a free alternative, you might want to explore the AutoCompleteBox from the Extended WPF Toolkit. It’s not as full-featured as the Telerik option, but it could serve as a good starting point for further customization.

I’ve actually implemented something similar in one of my WPF projects recently. While I didn’t find an exact out-of-the-box solution, I ended up customizing a combination of controls to achieve this functionality.

I used an ItemsControl as the base, then created a custom ItemTemplate that displays each recipient as a removable item. For the input part, I added a TextBox within the ItemsControl. The tricky part was handling the input logic to create new items and managing focus.

For the autocomplete feature, I utilized a Popup control that appears below the input when typing. I bound this to a filtered list of contacts from my database.

It took some work to get it all functioning smoothly, but the end result was pretty close to what you’re describing. If you’re comfortable with some custom control development, this approach might work for you. Let me know if you want more details on the implementation.