2015-09-04 5 views
0

Я создал «UserControl» на основе TextBox. Это означает, что я создал новый UserControl и заменил UserControl на TextBox в файлах xaml и xaml.cs.WPF Usercontrol на основе определения текстового поля/всплывающего окна

Теперь я хочу, чтобы мой новый элемент управления TextBox имел всплывающее окно для отображения некоторых предложений.

Сейчас мой вопрос: Где я могу определить внешний вид всплывающего окна как XAML? Определение Popup должно быть частью newTextBox.

Вот что у меня есть:

<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> 

ответ

1

Я думаю, что вы полностью отсутствует какая UserControl на самом деле. Проще говоря, UserControl представляет собой группу или коллекция элементов управления, которые составляют один более крупный ... uh ... control.

Я хочу, чтобы мой новый элемент управления TextBox имел всплывающее окно для отображения некоторых предложений.

То, что вы описываете здесь являетсяUserControl. Вы не можете разместить Popup внутри TextBox.

So. То, что вы здесь, возможно, примерно такое:

<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> 

Это, очевидно, чрезвычайно упрощенный пример, но вы получаете идею.

+0

Да, это все. Не могли бы вы показать мне, как привязать ширину всплывающего окна к ширине TextBox? Сделав их одинаковой шириной. – bebo

Смежные вопросы