Как отобразить холст в библиотеке пользовательских элементов управления wpf? - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть пользовательский элемент управления wpf, который рисует вещи на холсте. но я не могу понять, как отобразить этот холст в окне. Когда я добавляю этот элемент управления в хост-приложение, я хочу, чтобы этот холст заполнил окно этого приложения. Я видел учебник, в котором используется привязка шаблона для отображения элементов пользовательского интерфейса и т. Д., Но я прочитал, что холст не имеет свойства шаблона или чего-то в этом роде ... Как отобразить этот холст, на котором я рисую? спасибо

 namespace WPFCustomControls { 

       public class MyCustomControl : Control { 
           private Canvas canvas = new Canvas();

          static MyCustomControl() { 
             DefaultStyleKeyProperty.OverrideMetadata(typeof(MyCustomControl), new
                FrameworkPropertyMetadata(typeof(MyCustomControl))); 
          } 

             public void drawOnCanvas()
              {
                 //draw stuff on canvas
              }
               public void displayCanvas()
              {
                 //display canvas on app window
              }

       } 
    } 

1 Ответ

0 голосов
/ 11 сентября 2018

Вместо производного от Control вы можете получить из ContentControl со свойством Content.

Например:

public class MyCustomControl : ContentControl 
{ 
    private Canvas _canvas = new Canvas();

    public MyCustomControl()
    {
        this.Content = _canvas;
    }
} 

Также возможно получить из Canvas напрямую.

...