我基于TextBox创建了一个“UserControl”。这意味着我创建了一个新的UserControl,并在xaml和xaml.cs文件中用TextBox替换了UserControl。
现在我希望我的新TextBox控件有一个弹出窗口来显示一些建议。
现在我的问题是:我在哪里可以将Popup的外观/结构定义为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>
答案 0 :(得分:1)
我认为你完全错过UserControl
实际上是什么。简而言之,UserControl
是一个组或集合控制组成一个更大的......呃...控制。
我希望我的新TextBox控件有一个弹出窗口来显示一些建议。
您在此处描述的内容 是UserControl
。您无法在Popup
内放置TextBox
。
因此。你在这之后可能是这样的:
<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>
这显然是一个非常简单的例子,但你明白了。