关于定位器的WPF数据绑定问题
本文关键字:数据绑定 问题 WPF 定位器 | 更新日期: 2023-09-27 18:29:08
这可能是一个愚蠢的问题,但我似乎无法解决这个问题。
我有一个WPF项目,我想重命名它,并着手进行mercurial重构。
总而言之,它似乎做得很好,唯一的问题是我的视图模型的数据上下文似乎一团糟。
其中一个页面的例子是这样的
<Page x:Class="Cirdan.Excite.Views.ViewerPage"
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:controls="clr-namespace:Cirdan.Excite.Controls"
xmlns:infrastructure="clr-namespace:Cirdan.Excite.Infrastructure"
DataContext="{Binding ViewerViewModel, Source={x:Static infrastructure1:MainWindow.LocatorX}}"
mc:Ignorable="d"
d:DesignHeight="1024" d:DesignWidth="1280"
Title="Viewer">
我得到的错误是LocatorX既不存在也不可访问。然而,我可以找到我的ViewModel的源,以及我的LocatorX的定义位置,以便它知道它们,并且LocatorX是公共的。
在重命名之前,这一切都很好,所以它以某种方式链接到
虽然我理解您的问题,但不清楚您实际在问什么。
以下是我要做的步骤:
-
首先进行强力检查。也就是说,查看每个类和XAML(以及后面的任何代码),并确保
<name-of-item>
的所有实例都是正确的。还要确保使用的名称空间是正确的。 -
更正任何错误的值后,清理并重建您的项目。
-
如果它仍然给你一个错误,你可以重新启动visualstudio(或WPF设计器)。
我以前在这里遇到过一些有趣的问题,曾经需要验证我的程序集是否也都构建到了正确的目标平台上。
如果您仍然无法使其工作,请创建一个干净的项目并将代码重新合并在一起。