2012-11-16 25 views
1

我想用我的視圖模型作爲我的窗口的DataContext的,但我得到的錯誤:設置Window.Datacontext

ViewModel is not supported in a Windows Presentation Foundation (WPF) project.

很顯然,我不理解的東西有關語法和數據綁定我的窗口,我的視圖模型,但我不確定我不知道的是什麼。

對於我應該閱讀的內容有何建議?

<Window x:Class="SunnyBeam.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="SunnyBeam" Height="488.358" Width="1014.552"> 
    <Window.DataContext> 
     <ViewModel/> 
    </Window.DataContext> 
    <Grid> 

    </Grid> 
</Window> 
+1

您缺少名稱空間。 –

回答

1

通常我設置的DataContext通過代碼隱藏這樣的:

public partial class Flor1 : Window 
{ 
    public Flor1() 
    { 
     var dc = new MyViewModel(); 
     dc.LoadData(); 
     DataContext = dc; 
     InitializeComponent(); 
    } 
} 

代替MyViewModel的可能是你要綁定到任何東西。

1

定義類像

public class ViewModel 
{ 
    public string Name { get; set; } 
    public ViewModel() 
    { 

    } 
} 

使用它在XAML像

<Window x:Class="WpfApplication2.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:ui="clr-namespace:WpfApplication2" 
    Title="MainWindow" Height="350" Width="525"> 
<Window.DataContext> 
    <ui:ViewModel/> 
</Window.DataContext> 
<Grid> 

</Grid> 

它應該工作。