Как повторно использовать пользовательский контроль в различных проектах WPF - PullRequest
1 голос
/ 25 апреля 2011

У меня есть проект WPF, скажем, Приложение 1, и внутри него определен пользовательский элемент управления .. Я хочу возобновить этот пользовательский элемент управления в другом проекте WPF. Как я смогу это сделать ??

Оба проекта связаны в один и тот же источник контроля

Ответы [ 3 ]

1 голос
/ 25 апреля 2011

лучший способ:

определение вашего пользовательского элемента управления в другом проекте содержит только ваш пользовательский элемент управления как проект библиотеки классов (как Скотт Сэй)

но вы можете сделать это вручную, выполнив следующие шаги:

  1. скопировать пользовательский элемент управления из App1-pro (из обозревателя решений) в App2-Pro (даже вы можете надеть это от против другого против)
  2. открытый код за файлом и зайдите в Ctor и найдите InitializeComponent-mthod push f12 (или используйте определение goto из контекстное меню)
  3. изменить имя пространство от application1 до Application2 namespace (упс это!)
  4. изменить наложенный файл пространство имен, как указано выше (также сохранить это)
  5. перейдите в файл xaml и измените этот x:Class=WpfApplication1.UserControl до x:Class=WpfApplication2.UserControl

Теперь наслаждайтесь пользовательским контролем!

0 голосов
/ 25 апреля 2011

Я не эксперт, но позвольте мне попробовать.Убедитесь, что ваш пользовательский элемент управления доступен из другого проекта, т. Е. Имеется ссылка на библиотеку, в которой этот элемент управления определен.Затем в том месте, где вы хотите, чтобы этот элемент управления использовался повторно, вам необходимо определить пространство имен и использовать этот элемент управления в качестве любых других элементов управления.например,

<Window x:Class="Test.Window1" Title="Window1" Height="300" Width="600"
...
xmlns:userControls="clr-namespace:MySolution.MyPresentation.MyControls;assembly=MySolution.MyPresentation" 
/*controls namespace and assembly*/
>    
   <Grid>
        <userControls:ReusableControl
        /*particular properties of ReusableControl */
        />
   </Grid>    
<window>
0 голосов
/ 25 апреля 2011

Измените ваш элемент управления в отдельную библиотеку Windows (DLL), а затем добавьте эту DLL в ссылки для каждого проекта.

...