2016-04-08 2 views
1

У меня есть dll, который содержит usercontrol, а также viewmodel для элемента управления. Я использую этот usercontrol в другом приложении. Теперь я не знаю, как установить datacontext в viewmodel в dll.Использование ViewModel из dll для UserControl

Это View Code моего приложения (Окно LayoutControlViewModel является длл ViewModel):

<Window x:Class="TestApplication.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:dll="clr-namespace:WindowLayoutControl.View;assembly=WindowLayoutControl" 
    Title="MainWindow" Height="350" Width="525"> 
<Grid> 
    <dll:WindowLayoutControl DataContext="{Binding WindowLayoutControlViewModel}"></dll:WindowLayoutControl> 
</Grid> 

К сожалению я довольно новыми для MVVM и WPF. Заранее спасибо.

+1

Как использовать эти элементы управления в DLL? Вы называете их в xaml и/или коде? –

+0

Я связываю их в xaml – Backs

+2

Можете ли вы опубликовать образец, показывающий, что вы пытаетесь сделать? Это поможет понять вашу проблему. –

ответ

1

Вы сказали, что у вас есть и View и ViewModel в этой библиотеке, поэтому я буду предполагаю, что ViewModel находится в отдельном пространстве имен:

<Window x:Class="TestApplication.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:dll="clr-namespace:WindowLayoutControl.View;assembly=WindowLayoutControl" 
    xmlns:dllViewModel="clr-namespace:WindowLayoutControl.ViewModel;assembly=WindowLayoutControl" 
    Title="MainWindow" Height="350" Width="525"> 
<Grid> 
    <dll:WindowLayoutControl> 
     <dll:WindowLayoutControl.DataContext> 
      <dllViewModel:{Name of your view model here}/> 
     </dll:WindowLayoutControl.DataContext> 
    </dll:WindowLayoutControl> 
</Grid> 
+0

спасибо, что это отлично работает для меня – Backs

Смежные вопросы