2
最も単純なことをしようとしています.ViewをViewModelにバインドしますが、何らかの理由でそれが動作しません。ViewをViewModelにバインドできません
私はメインウィンドウを持っている:
<Window x:Class="ImagesToAmazon.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
xmlns:v="clr-namespace:ImagesToAmazon.View"
xmlns:vm="clr-namespace:ImagesToAmazon.ViewModel" >
<Window.Resources>
<DataTemplate DataType="{x:Type vm:MainViewModel}">
<v:MainControl />
</DataTemplate>
</Window.Resources>
<Grid>
</Grid>
MainViewModel:
namespace ImagesToAmazon.ViewModel{
public class MainViewModel {
}}
MainControl:
<UserControl x:Class="ImagesToAmazon.View.MainControl"
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"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<StackPanel>
<Button Content="Button" Height="23" Name="button1" Width="75" />
</StackPanel>
また、私は、コンテキストメインウィンドウに設定するApp.OnStartupをオーバーライドします。
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var window = new MainWindow();
var viewModel = new ViewModel.MainViewModel();
window.DataContext = viewModel;
window.Show();
}
}
すべてのコンパイルが、私はMainControlから私のボタンが表示されません。 手がかりはありますか?メインウィンドウで
ここでMVVMについて詳しく調べてみてください: http://galasoft.ch/mvvm/ – shmoltz
バインディングはどこにありますか? – chopikadze
実際、これは通常、MVVM世界の開始点です:http://msdn.microsoft.com/en-us/magazine/dd419663.aspx。しかし、まずはWPFについて慎重に読んで、簡単にMVVMを深く理解できるように見えます。 – chopikadze