Как сослаться на Canvas в другом файле XAML? - PullRequest
2 голосов
/ 27 января 2009

У меня проблема с выяснением, как ссылаться на Canvas в другом файле XAML в моем проекте.

Например, есть объект Canvas, содержащий некоторые метки, изображения, называемые MyLayout и хранящиеся в MyLayout.xaml

Я хочу использовать этот холст в главном окне приложения в Window.xaml. Как это может быть сделано? Для загрузки в окно потребуется несколько макетов.

Весь XAML находится в проекте и скомпилирован, его нельзя загрузить из файла.

Как мне обратиться к объекту Canvas в файле MyLayout.xaml в Window.xaml?

Это может быть в коде XAML, VB.NET или даже в C #.

Я искал часы, пытаясь понять это. Как использовать объект из одного файла XAML в другом? Как это сделать?

Заранее спасибо. Я надеюсь, что кто-то знает, как это сделать.

Ответы [ 2 ]

1 голос
/ 27 января 2009

Задумывались ли вы об использовании UserControl или ControlTemplate?

0 голосов
/ 29 января 2009

Поскольку ваш объект Canvas действительно является подклассом Canvas, этот подкласс определяется в вашей сборке. Вы можете ссылаться на объекты, определенные в других пространствах имен, добавив еще один атрибут xmlns к корневому объекту XAML.

Примерно так (при условии, что ваш подкласс Canvas называется MyCanvas в пространстве имен MyNamespace):

<Window x:Class="MyNamespace.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:MyNamespace">
    <local:MyCanvas />
</Window>

Вы можете установить свойства класса MyCanvas, как и любой другой объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...