MVVM Pattern, ViewModel DataContext Диалог не работает - PullRequest
0 голосов
/ 22 декабря 2018

Я новичок в MVVM.Я пытался создать простой диалог, но столкнулся с проблемой.Я создал CustomerViewModel и CustomerView.Я установил Datacontext для модели представления.

Но после showdialog() откроется пустое диалоговое окно.

Вот подробности:

public class MainWindowViewModel: ViewModelBase
{
    ....

    public void OpenCommandExecute(object o)
    {


        var win = new Window();
        win.Width = 500;
        win.Height = 500;
        win.WindowStartupLocation = WindowStartupLocation.CenterScreen;
        win.DataContext = new CreateCustomerViewModel();

        if (win.ShowDialog() == true)
        {

        }

    }
}

App.XAML

<Application.Resources>

    <DataTemplate DataType="{x:Type ViewModel:CreateCustomerViewModel}">
        <View:CreateCustomerView/>
    </DataTemplate>

</Application.Resources>

CreateCustomerViewModel

public class CreateCustomerViewModel : ViewModelBase
{

}

CreateCustomerView

<UserControl x:Class="WpfApplication1.View.CreateCustomerView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:ViewModel="clr-namespace:WpfApplication1.ViewModels"
             mc:Ignorable="d"
             d:DataContext="{d:DesignInstance ViewModel:CreateCustomerViewModel}">
    <Button Content="Button" HorizontalAlignment="Left" Margin="260,176,0,0" VerticalAlignment="Top" Width="75"/>


</UserControl>
...