WPF在文本之间拖放按钮

时间:2016-12-12 13:40:54

标签: wpf button text drag

我需要创建一个功能,您必须能够为一段文本制作模板。您需要能够输入硬文本和占位符。我们的想法是,您可以像在任何文本框控件中一样输入文本,也可以在控件中拖动代表占位符的按钮,例如:姓名或年龄。是否可以在同一控件中输入文本和拖放按钮?

我已经找到了Devexpress ButtonEdit控件,但是该控件不允许您在文本之间订购按钮。我也在考虑只使用按钮并使它们可编辑,但这对用户来说可能不太方便。

提前致谢。

1 个答案:

答案 0 :(得分:1)

是的,它可以InlineUIContainer RichTextBox

private void RichTextBox_PreviewDrop(object sender, DragEventArgs e)
{
    RichTextBox tb = ((RichTextBox)sender);
    var b = new Button();
    b.Content = "Placeholder";
    var container = new InlineUIContainer(b, tb.CaretPosition);
    container.BaselineAlignment = BaselineAlignment.Center;
    tb.CaretPosition = container.ElementEnd;
    e.Handled = true;
}