как инициализировать новое текстовое поле в определенной позиции в wpf - PullRequest
2 голосов
/ 25 июня 2011

Я использую элемент управления InkCanvas и хочу добавить в него текстовое поле как дочерний элемент в определенной позиции. Мне удалось добавить его, но не в правильную позицию? как я могу преобразовать это или любой другой метод?

Ответы [ 2 ]

3 голосов
/ 25 июня 2011

Вы можете использовать прикрепленные свойства Left и Top, например:

var myTextBox = new TextBox();
myCanvas.Children.Add( myTextBox );
InkCanvas.SetLeft( myTextBox, someLeftValue );
InkCanvas.SetTop( myTextBox, someTopValue );
1 голос
/ 25 июня 2011

InkCanvas не является типом панели (обратите внимание, что он наследуется от FrameworkElement), но он содержит вложенные свойства (как упоминал Эд С.), которые позволяют позиционировать дочерние элементы, как если бы это была панель Canvas. :

<InkCanvas>
  <TextBox InkCanvas.Top="50" InkCanvas.Left="50"/>
</InkCanvas>

Кроме того, вы также можете вставить панель в качестве дочернего элемента InkCanvas. Например:

<InkCanvas>
  <Canvas>
    <TextBox Canvas.Top="50" Canvas.Left="50"/>
  </Canvas>
</InkCanvas>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...