在 MAUI 中设计 - 设计时 BindingContext

4

在 WPF 中,我使用了正常的组合方式:

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
d:DataContext="{d:DesignData...}"

为了允许在设计时设置DataContext,这意味着我在XAML中可以得到合理的Intellisense。我知道上面的代码不能编译,但你可以理解一下。
我刚开始使用MAUI(不使用Blazor),并希望实现相同的功能 - 这样我就可以告诉Visual Studio我的ContentView将与特定对象类型绑定,即以一种在运行时会被忽略的方式使用d:BindingContext=""。这将使得设计ItemTemplates变得更加容易!

1
使用“x:DataType” - Jason
1个回答

4

感谢Jason的评论。我也在James Montemango的视频中找到了这个问题的答案。

x:DataType非常棒 - 它比旧系统更强大,因为它实际上为绑定提供了编译时保护。

编辑:相关视频链接:https://youtu.be/3-cT97sBmxM


1
也许你应该在回答中添加一个链接到这个视频。这将使你的回答对其他用户更有帮助。 - Ivan Kozlov
请添加最终解决方案的文本示例,不要让人们观看13分钟的视频,只是为了找出如何编写两行代码。 - bearpro
只需将x:DataType="someNamespace:SomeViewModel"属性添加到ContentPage和/或DataTemplate元素中。您可能还需要在XAML XML定义中为"someNamespace"添加clr-namespace属性。此外,在AssemblyInfo.cs中添加 [assembly: XamlCompilation(XamlCompilationOptions.Compile)]。 - K0D4
1
对于未来遇到此问题的任何人,我必须执行xmlns:viewmodel =“clr-namespace:Application.ViewModels”,然后x:DataType =“viewmodel:PageNameViewModel”。如果该视频仍可用,则提供的确切时刻为5:38。 - Laim
@Laim的回答应该被提升为答案。从被接受的答案中无法清楚地了解如何使用x:DataType。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接