问题标签 [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.
async-await - 将设计时数据从文件加载到 WinRT 中的代码中
如果您在 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 中的代码中?
(注意这是对另一个问题的概括。)
xaml - UWP X:绑定和设计时数据
是否可以在 uwp 应用程序中使用 x:bind 和设计时间数据?
例如,如果我有一个使用 x:bind 绑定到后面代码中 viewmodel 上的属性的文本框,那么该属性的值是否应该出现在设计器的文本框中?
有没有办法做到这一点?
干杯
约翰尼
c# - WPF 设计时数据和数据模板
我正在开发一个 WPF 用户控件,我希望它显示一些设计时数据。事实证明,要把事情做好是一个相当大的挑战,我真的可以使用你的帮助。
到目前为止,这是我的控制,基本上是<ListBox>
:
我想出了如何在另一个 XAML 文件中创建设计时数据,并将构建操作设置为DesignDataWithDesignTimeCreatableTypes
. 该类型本质上只是一个 DTO,因此在设计时创建实例似乎没问题。所以这里是数据文件,包含一个List<SensorState>
有两个成员的:
所以,某种意义上的成功。但是,此时有两个问题:
- 当列表中有两个项目时,为什么只显示一行?我可以通过更改绑定表达式中的数组索引来控制显示哪个实例,但是如何让行重复?我尝试删除数组索引,但这只会产生编译错误。
- 我收到“无法识别或无法访问成员 XXX”形式的数据文件的错误,我正在设置的每个属性都有一个错误,总共 36 个。即使构建成功并且设计时数据显示在编辑器中。它们是错误,所以我确信它们很重要——我只是不知道编译器试图告诉我什么。那么这些错误是什么意思,我需要做些什么来减轻它们呢?
还有更多。我想使用 aDataTemplate
为数据创建更好的外观;稍后会有一个用于设置限制等的滑块控件,所以这是我尝试使用模板的方式:
所以基本上,我已经从资源中<Grid>
移出<ListBox>
和移入<DataTemplate>
。一旦我这样做了,设计时数据就消失了,我在设计器中只剩下一个空白控件。所以我的第三个问题变成了:
- 为什么我使用 a 时设计时数据会消失
<DataTemplate>
?我需要做些什么不同的事情?
您可能会说我几乎没有使用 WPF 的经验......我必须承认我在绑定表达式方面有点挣扎,它们看起来像是某种神秘的魔法,几乎没有押韵或理由。我想也许我在某个地方遗漏了一个重要的概念。我希望你能给我一些明智的话,把我推向正确的方向。
json - Windows 通用应用程序设计时加载 json 文件
我正在开发一个 Windows 通用应用程序,在我的一个观点中,我正在尝试使用 DesignTime Data。在我的 ViewModel 中,我创建了一个加载真实或虚拟数据的条件:
我正在使用 mvvmLight。服务的 GetInformation 方法应从项目文件夹中的 json 文件加载数据。我尝试通过“StorageFile.GetFileFromApplicationUriAsync(dataUri);”加载文件 并通过普通的“File.ReadAllText”。在这两种情况下,Designer 都会引发“FileNotFoundException”。
我还尝试使用另一个 Visual Studio 实例来调试设计时视图模型,但我不知道应该使用哪条路径。我知道设计器在一个单独的进程中运行 - XDesProc - 但我不确定我的文件路径应该是什么样子,以便 XDesProc 可以找到它。
那么如何在代码中加载文件以获取设计时数据?
c# - 设计时数据接口实现
我有一个像这样的 ViewModel 类
现在我想创建一些设计时数据。在我的单元测试中,我使用模拟框架 (Moq) 来执行此操作。我不喜欢我需要在我的 App 项目中创建一些 IData 的 Mock 实现或引用和使用 Mocking 框架的事实。
在这种情况下实现设计时数据的最优雅的方法是什么?
编辑:不确定是否相关,但我使用的是 Visual Studio 2012。
c# - Catel Person应用示例
目前就读于卡特。
在 Catel.Examples 的 PersonApplication 中 - 具体来说,PersonWindow.xaml:设计时数据未显示在 Visual Studio 设计器中。
在 PersonViewModel 的代码中,公共属性被注释掉了。显然这是因为代码使用 Fody 在运行时创建模型属性。因此,我取消了公共属性的注释,假设 Visual Studio 设计器需要公共属性才能在设计器中显示设计时数据。尽管如此,DesignPersonViewModel 的设计时数据并未显示在设计器中。
应用程序在运行时正确运行。没有关于构建的消息表明 XAML 或代码中的问题。声明设计时数据上下文的 XAML 代码是正确的:
为什么设计时数据没有显示在设计器中的任何解释?
我正在使用 Visual Studio 2015。
wpf - 将 d:DataContext 设置为另一个程序集的内部类
考虑以下场景:
WPF 视图:
ViewModel 位于一个单独的 c# 项目中:
ViewModel 在 AssemblyInfo 中有这个条目:
XAML 设计器中的错误消息:
- 名称空间“WPF.Demo.View”中不存在名称“DesignViewModel”。
观察:
- 如果我将 DesignViewModel 公开,而不是内部,一切正常。但是,我想把它保留在内部,因为外部消费者真的不应该为设计时的东西而烦恼。
- 如果我将 DesignViewModel 移动到包含视图的同一个程序集中,一切正常。但是,我想将视图和视图模型分开。
- InternalsVisibleTo 设置正确,因为我可以从视图后面的代码中访问它。
问题:如何将 d:DataContext 设置为另一个程序集的内部类?
wpf - 菜单子项样式中的 WPF 设计时数据
我有一个带有菜单的 WPF 项目。其中一个菜单具有通过绑定到后面代码中的集合而动态生成的子项。这是此项目的 XAML:
这一切在运行时都可以正常工作,我得到了我所期望的等等。每个子项的数据上下文是它所代表的正确数据库。
然而,在设计时,父 MenuItem 正确设置了它的设计时数据上下文并识别“IsertableDBs”,但在样式中它抱怨它找不到“DisplayName”和“DBInterface”类型的其他属性(DataContext父菜单的类型)。我如何告诉它该样式中的项目应该具有 DB 类型的 DataContext?
c# - WPF XAML DesignTime Data - 在相关模型上设置属性值
假设我们有一个 Person 模型:
我们有一个城市模型:
然后我们有一个像这样的 WPF/XAML 视图:
所有这些都为我提供了带有单个 Person 项的 ItemsControl 的设计时视图。
但是我不知道如何在 Person 类的City属性上设置设计时属性值——比如ZipCode和City?
任何人?