Я новичок в 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>