我正在使用WPF(C#)工作。
我想有一个文本框,它可以处理其他控件,而不仅仅是文本。我已经取得了一些进步,但是还不够。我苦苦挣扎的问题是自定义文本框中没有插入符号,也没有选择。
自定义文本框具有以下样式:
<Style x:Key="CustomTextBox" TargetType="{x:Type local:CustomTextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:CustomTextBox}">
<Grid>
<ContentPresenter />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
可能是由于模板没有插入符和没有选择。 有什么方法可以支持这些吗?我必须创建模板,以便显示其他控件(TextBox仅接受文本),例如:>
这是我使用自定义文本框的方式
<local:CustomTextBox Grid.Row="0" Style="{StaticResource CustomTextBox}" Height="80" Focusable="True">
<local:CustomTextBox.Content>
<ContentControl Template="{StaticResource SquareRoot}">
<ContentControl Template="{StaticResource SquareRoot}">
<ContentControl Template="{StaticResource SquareRoot}">
<ContentControl Template="{StaticResource SquareRoot}">
<ContentControl Template="{StaticResource SquareRoot}">
255551
</ContentControl>
</ContentControl>
</ContentControl>
</ContentControl>
</ContentControl>
</local:CustomTextBox.Content>
</local:CustomTextBox>
CustomTextBox类
[ContentProperty("Content")]
internal sealed class CustomTextBox : TextBox
{
public FrameworkElement Content
{
get { return (FrameworkElement)GetValue(ContentProperty); }
set { SetValue(ContentProperty, value); }
}
public static readonly DependencyProperty ContentProperty =
DependencyProperty.Register("Content", typeof(FrameworkElement), typeof(CustomTextBox), new UIPropertyMetadata(null));
}
我愿意接受任何建议。