问题标签 [design-time-data]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
239 浏览

async-await - 将设计时数据从文件加载到 WinRT 中的代码中

VS新建项目截图

如果您在 Visual Studio 中创建开箱即用的 WinRT 手机应用程序,例如 Hub 应用程序(Windows 8.1 Universal),则生成的 XAML 会在 XAML 中加载设计时数据,如下所示:

从 JSON 文件解析的设计时数据在 Blend 中可见:

混合截图

我想将 JSON 文件加载和解析从 XAML 移到 C# 中,并让它在 Blend 中仍然可用。我怎么做?我面临的挑战是,要在 Blend 中可用,我认为 C# 必须使用无参数构造函数。但是加载文件(在 WinRT 中)是异步的。因此,打开文件的方法必须要么标记async并使用await,要么使用ContinueWith延续。但是async,因此await在构造函数中是不允许的,并且在页面加载到 Blend 之后似乎会发生任何延续事件,并且不会反映在 Blend 设计视图中。

如何将从文件中解析的设计时数据加载到 WinRT 中的代码中?

(注意这是对另一个问题的概括。)

0 投票
1 回答
2158 浏览

xaml - UWP X:绑定和设计时数据

是否可以在 uwp 应用程序中使用 x:bind 和设计时间数据?

例如,如果我有一个使用 x:bind 绑定到后面代码中 viewmodel 上的属性的文本框,那么该属性的值是否应该出现在设计器的文本框中?

有没有办法做到这一点?

干杯

约翰尼

0 投票
0 回答
482 浏览

c# - WPF 设计时数据和数据模板

我正在开发一个 WPF 用户控件,我希望它显示一些设计时数据。事实证明,要把事情做好是一个相当大的挑战,我真的可以使用你的帮助。

到目前为止,这是我的控制,基本上是<ListBox>

我想出了如何在另一个 XAML 文件中创建设计时数据,并将构建操作设置为DesignDataWithDesignTimeCreatableTypes. 该类型本质上只是一个 DTO,因此在设计时创建实例似乎没问题。所以这里是数据文件,包含一个List<SensorState>有两个成员的:

到目前为止,这让我得到了一个如下所示的用户控件: 使用设计时数据进行用户控制

所以,某种意义上的成功。但是,此时有两个问题:

  • 当列表中有两个项目时,为什么只显示一行?我可以通过更改绑定表达式中的数组索引来控制显示哪个实例,但是如何让行重复?我尝试删除数组索引,但这只会产生编译错误。
  • 我收到“无法识别或无法访问成员 XXX”形式的数据文件的错误,我正在设置的每个属性都有一个错误,总共 36 个。即使构建成功并且设计时数据显示在编辑器中。它们是错误,所以我确信它们很重要——我只是不知道编译器试图告诉我什么。那么这些错误是什么意思,我需要做些什么来减轻它们呢?

还有更多。我想使用 aDataTemplate为数据创建更好的外观;稍后会有一个用于设置限制等的滑块控件,所以这是我尝试使用模板的方式:

所以基本上,我已经从资源中<Grid>移出<ListBox>和移入<DataTemplate>。一旦我这样做了,设计时数据就消失了,我在设计器中只剩下一个空白控件。所以我的第三个问题变成了:

  • 为什么我使用 a 时设计时数据会消失<DataTemplate>?我需要做些什么不同的事情?

您可能会说我几乎没有使用 WPF 的经验......我必须承认我在绑定表达式方面有点挣扎,它们看起来像是某种神秘的魔法,几乎没有押韵或理由。我想也许我在某个地方遗漏了一个重要的概念。我希望你能给我一些明智的话,把我推向正确的方向。

0 投票
1 回答
179 浏览

json - Windows 通用应用程序设计时加载 json 文件

我正在开发一个 Windows 通用应用程序,在我的一个观点中,我正在尝试使用 DesignTime Data。在我的 ViewModel 中,我创建了一个加载真实或虚拟数据的条件:

我正在使用 mvvmLight。服务的 GetInformation 方法应从项目文件夹中的 json 文件加载数据。我尝试通过“StorageFile.GetFileFromApplicationUriAsync(dataUri);”加载文件 并通过普通的“File.ReadAllText”。在这两种情况下,Designer 都会引发“FileNotFoundException”。

我还尝试使用另一个 Visual Studio 实例来调试设计时视图模型,但我不知道应该使用哪条路径。我知道设计器在一个单独的进程中运行 - XDesProc - 但我不确定我的文件路径应该是什么样子,以便 XDesProc 可以找到它。

那么如何在代码中加载文件以获取设计时数据?

0 投票
1 回答
112 浏览

c# - 设计时数据接口实现

我有一个像这样的 ViewModel 类

现在我想创建一些设计时数据。在我的单元测试中,我使用模拟框架 (Moq) 来执行此操作。我不喜欢我需要在我的 App 项目中创建一些 IData 的 Mock 实现或引用和使用 Mocking 框架的事实。

在这种情况下实现设计时数据的最优雅的方法是什么?

编辑:不确定是否相关,但我使用的是 Visual Studio 2012。

0 投票
2 回答
147 浏览

c# - Catel Person应用示例

目前就读于卡特。

在 Catel.Examples 的 PersonApplication 中 - 具体来说,PersonWindow.xaml:设计时数据未显示在 Visual Studio 设计器中。

在 PersonViewModel 的代码中,公共属性被注释掉了。显然这是因为代码使用 Fody 在运行时创建模型属性。因此,我取消了公共属性的注释,假设 Visual Studio 设计器需要公共属性才能在设计器中显示设计时数据。尽管如此,DesignPersonViewModel 的设计时数据并未显示在设计器中。

应用程序在运行时正确运行。没有关于构建的消息表明 XAML 或代码中的问题。声明设计时数据上下文的 XAML 代码是正确的:

为什么设计时数据没有显示在设计器中的任何解释?

我正在使用 Visual Studio 2015。

0 投票
1 回答
162 浏览

wpf - 将 d:DataContext 设置为另一个程序集的内部类

考虑以下场景:

WPF 视图:

ViewModel 位于一个单独的 c# 项目中:

ViewModel 在 AssemblyInfo 中有这个条目:

XAML 设计器中的错误消息:

  • 名称空间“WPF.Demo.View”中不存在名称“DesignViewModel”。

观察:

  • 如果我将 DesignViewModel 公开,而不是内部,一切正常。但是,我想把它保留在内部,因为外部消费者真的不应该为设计时的东西而烦恼。
  • 如果我将 DesignViewModel 移动到包含视图的同一个程序集中,一切正常。但是,我想将视图和视图模型分开。
  • InternalsVisibleTo 设置正确,因为我可以从视图后面的代码中访问它。

问题:如何将 d:DataContext 设置为另一个程序集的内部类?

0 投票
1 回答
93 浏览

wpf - 菜单子项样式中的 WPF 设计时数据

我有一个带有菜单的 WPF 项目。其中一个菜单具有通过绑定到后面代码中的集合而动态生成的子项。这是此项目的 XAML:

这一切在运行时都可以正常工作,我得到了我所期望的等等。每个子项的数据上下文是它所代表的正确数据库。

然而,在设计时,父 MenuItem 正确设置了它的设计时数据上下文并识别“IsertableDBs”,但在样式中它抱怨它找不到“DisplayName”和“DBInterface”类型的其他属性(DataContext父菜单的类型)。我如何告诉它该样式中的项目应该具有 DB 类型的 DataContext?

0 投票
0 回答
51 浏览

c# - WPF 设计时数据未绑定到图像

就像标题说的那样。

问题是,图像在运行时正确绑定,所有其他属性在设计时正确绑定。此外,我在其他用户控件\页面中的设计时成功地绑定了图像。
我已经为此花费了无数个小时,所以我决定在这里发布一个问题。

这是我有问题的 XAML:



这是我的视图模型:



这是我的设计模型:



我的图像转换器(虽然不应该是一个问题,因为它在其他地方都在做它的工作):



我的图片路径:
在此处输入图像描述

在运行时(我说的是大标题“Store View Model”左侧的图像):
在此处输入图像描述



在设计时(注意大标题“商店设计模型”左侧的空方块,图像应该在那里):
在此处输入图像描述

0 投票
2 回答
43 浏览

c# - WPF XAML DesignTime Data - 在相关模型上设置属性值

假设我们有一个 Person 模型:

我们有一个城市模型:

然后我们有一个像这样的 WPF/XAML 视图:

所有这些都为我提供了带有单个 Person 项的 ItemsControl 的设计时视图。

但是我不知道如何在 Person 类的City属性上设置设计时属性值——比如ZipCodeCity

任何人?