MVVM模式,ViewModel DataContext对话框不起作用

时间:2018-12-22 09:47:47

标签: mvvm dialog viewmodel datacontext

我是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>

0 个答案:

没有答案