我正在尝试创建一个用户控件来模拟常规文本框,但是有标签。有点像这样:
但我遇到了麻烦......我试图这样做:
<TextBox>
<Border/>
</TextBox>
但这不起作用。如何在不使用richTextBox的情况下执行此操作?
由于
答案 0 :(得分:1)
TextBox不是容器,因此没有子容。也许尝试将TextBox包装在容器对象中?
一些示例代码可帮助您入门:
<Border Grid.Row="0" BorderBrush="#FF808080" Background="#FFFFFFFF" >
<DockPanel>
<ItemsControl DockPanel.Dock="Left" ItemsSource="{Binding Tags}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderBrush="#FF000000" BorderThickness="1" Margin="3">
<DockPanel>
<Button DockPanel.Dock="Right" Content="X" />
<TextBlock Text="{Binding}" Margin="3" />
</DockPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<TextBox BorderThickness="0" Text="{Binding Text}" VerticalContentAlignment="Center" />
</DockPanel>
</Border>
然而,Restyle和rebind最适合您的解决方案。