WPF - Canvas - InkCanvas - Нанесение краски
Я полностью застрял в разработке приложения WPF, которое почти похоже на MS Paint, я застрял в части добавления текста.
Я использую InkCanvas и его события, чтобы указать на холст для чернил и добавляю новое текстовое поле. То, что я делаю сейчас для добавления текста на холст, ниже:
private void btnTxt_Click(object sender, RoutedEventArgs e)
{
isLastPressedText = true;
}
private void inkCanvas_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
if (isLastPressedText)
{
System.Windows.Point position = e.GetPosition(inkCanvas);
position.Y = position.Y - this.TranslatePoint(new System.Windows.Point(0, 0), e.Source as UIElement).Y;
TextBox txt = new TextBox();
txt.Width = 100;
txt.Height = 20;
ContentControl control = new ContentControl();
Thickness marginL = control.Margin; marginL.Left = position.X; control.Margin = marginL; //X-coordinate..
Thickness marginR = control.Margin; marginR.Top = position.Y; control.Margin = marginR; //Y-coordinate..
control.Content = txt;
control.Width = 100;
control.Height = 20;
mainCanvas.Children.Add(control);
isLastPressedText = false;
}
Я не получаю желаемого результата, так как текстовое поле не изменяет размеры и не перемещается, а также обладает такими другими функциями, как в текстовых дополнениях MS Paints.
Я должен развить функциональность добавления текста, как показано в этом видео (пожалуйста, посмотрите).
Любой пример кода / ссылки или любой, кто может отследить меня по правильному пути с некоторыми примерами..!