2009-09-30 96 views

回答

0

试图实现一个自定义行程类,并使用Drawingcontext.DrawString方法相同的例子。

1

你可以做这样的事情。 (参见MSDN文档的机顶盒,SetLeft)

// add control to children collection 
// (ctlToAdd can be TextBlock, RichTextBox, FlowDocument for example 
inkCanvas.Children.Add(ctlToAdd); 
InkCanvas.SetTop(ctlToAdd, 100.0); 
InkCanvas.SetLeft(ctlToAdd,100.0); 
0
private void drawTextBox(object sender, MouseEventArgs e) 
{ 
TextBox = new TextBox(); 
myInkCanvas.Children.Add(myTextBox); 
myTextBox.Visibility = Visibility.Visible; 
Point mousePos = e.GetPosition(myInkCanvas); 
double left = Math.Min(mouseDownPos.X, mousePos.X); 
double top = Math.Min(mouseDownPos.Y, mousePos.Y); 
myTextBox.Width = Math.Abs(mouseDownPos.X - mousePos.X); 
myTextBox.Height = Math.Abs(mouseDownPos.Y - mousePos.Y); 
InkCanvas.SetLeft(myTextBox, left); 
InkCanvas.SetTop(myTextBox, top); 
} 

你可以得到mouseDownPos:

private void myInkCanvas_PreviewMouseLeftButtonDown(objectsender,MouseButtonEventArgs){ 
mouseDownPos = e.GetPosition(myInkCanvas); 
} 

这是一个简单的代码,你可以在你的程序中使用它。

相关问题