bebo
bebo

Reputation: 849

WPF Usercontrol based on Textbox/Popup definition

I created a "UserControl" based on a TextBox. That means I created a new UserControl and replaced UserControl by TextBox in xaml and xaml.cs files.

Now I want that my new TextBox control shall have a popup to display some suggestions.

Now my question is: Where can I define the look/structure of the Popup as XAML? The Popup definition shall be part of the newTextBox.

That's what I have:

    <TextBox x:Class="WpfApplication11.UserControl2"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:WpfApplication11"
         mc:Ignorable="d" 
         MaxWidth="{Binding Path=ActualWidth}">
    </TextBox>

Upvotes: 0

Views: 531

Answers (1)

Mike Eason
Mike Eason

Reputation: 9713

I think you're totally missing what a UserControl actually is. To put it simply, a UserControl is a group or collection of controls that make up one larger... uh... control.

I want that my new TextBox control shall have a popup to display some suggestions.

What you are describing here is a UserControl. You cannot place a Popup inside a TextBox.

So. What you're after here is probably something like this:

<UserControl ... >
    <Grid>
        <TextBox Name="txt" 
                 Width="150" ... />

        <Popup PlacementTarget="{Binding ElementName=txt}"
               Placement="Bottom"
               IsOpen="True"
               StaysOpen="True"
               Width="{Binding ActualWidth, ElementName=txt}">
            <!-- Some popup content here -->
        </Popup>

     </Grid>
</UserControl>

This is obviously an extremely simplified example, but you get the idea.

Upvotes: 1

Related Questions