gpt4 book ai didi

xaml - 无法使用 x :Bind in DataTemplates - generates XAML error 绑定(bind)到按钮事件

转载 作者:行者123 更新时间:2023-12-01 06:04:59 24 4
gpt4 key购买 nike

使用 {x:Bind} 标记语法,您可以绑定(bind)到事件,前提是该方法满足以下要求:

  • 匹配事件的签名。
  • OR 没有参数。
  • 或具有相同数量的可从事件参数类型分配的类型参数。

这在 DataTemplate 之外工作得很好。一旦绑定(bind)发生在 DataTemplate 内部,编译器就会生成以下错误:

Xaml Internal Error error WMC9999: Object reference not set to an instance of an object.

绑定(bind)到 DataTemplates 内的事件的修复方法是什么?

完整示例代码 here .

下面的示例代码片段 - 注意第一个按钮(第 2 行)没有问题,第二个按钮(第 6 行)也没有问题。如果注释掉第 6 行并在第 7 行注释,则会发生错误。

 <StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Button Tapped="{x:Bind Click}" Content="WORKING"/>
<ListView ItemsSource="{x:Bind Names}">
<ListView.ItemTemplate>
<DataTemplate x:DataType="local:Customer">
<Button Content="{x:Bind Title}"/>
<!--<Button Tapped="{x:Bind Clicky}" Content="{x:Bind Title}"/>-->
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>

最佳答案

我能够使用以下代码让它工作:

<DataTemplate x:DataType="local:Customer">
<StackPanel Orientation="Vertical">
<Button Tapped="{x:Bind Clicky}" Content="{x:Bind Title}" />
</StackPanel>
</DataTemplate>

似乎您需要将它放在容器中才能正常工作。我不知道为什么我在猜测魔法。

关于xaml - 无法使用 x :Bind in DataTemplates - generates XAML error 绑定(bind)到按钮事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32850078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com