簡體   English   中英

在XAML文件中未綁定DataContext

[英]DataContext is not bind in the XAML file

我是WPF + MVVM體系結構的新手。 在我的應用程序中,我試圖在XAML本身中實現“ DataContext”,如下所示

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

    <Window.DataContext>
        <vm:Northwind_DataViewModel></vm:Northwind_DataViewModel>
    </Window.DataContext>

    <Grid>
    </Grid>

</Window>

我收到“名稱空間'clr-namespace:MyWPF.UI.ViewModel中不存在名稱'Northwind_DataViewModel'”。

我有ViewModel文件。 在使用“ DataContext”之前,我構建了此應用程序。

您能否讓我知道我的代碼有什么問題?

謝謝

名稱空間“ clr-namespace:MyWPF.UI.ViewModel”中不存在名稱“ Northwind_DataViewModel”。

很有可能,您的編譯器是正確的。 您的項目中沒有名為MyWPF.UI.ViewModel.Northwind_DataViewModel類。 確保它存在,具有公共的,無參數的構造函數,不是某個事物的內部類,並且不是泛型的。 如果是這樣,它將起作用。

如果命名空間是在 XAML所在的單獨程序集中聲明的 ,則還必須提供程序集名稱

樣品:

xmlns:sys="clr-namespace:System;assembly=mscorlib"

同樣,提供此名稱空間所在的程序集名稱(假設程序集名稱為MyWPF.UI)

xmlns:vm="clr-namespace:MyWPF.UI.ViewModel;assembly=MyWPF.UI"

非常感謝您的回復。 終於我找到了解決方案。 實際上,該項目放置在共享文件夾中。 因此,我將其移至本地驅動器(C :)。 現在,它工作正常,沒有任何問題。

我猜在共享路徑/共享文件夾中,它可能無法正常工作。 如果我錯了,請告訴我。

再次感謝。

為了解決此問題,您需要了解DataContext如何工作。 該答案包含很多提示和支持教程的鏈接:

ReSharper WPF錯誤:“由於未知的DataContext,無法解析符號“ MyVariable””

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM