Rob*_*ean 3 xaml binding winrt-xaml windows-store-apps xbind
使用{x:Bind}标记语法,您可以绑定到事件,前提是该方法满足以下要求:
这在DataTemplate之外完美地运行.一旦绑定发生在DataTemplate内部,编译器就会生成以下错误:
Xaml内部错误错误WMC9999:对象引用未设置为对象的实例.
绑定到DataTemplates内事件的修复方法是什么?
完整的示例代码在这里.
以下示例代码的片段 - 注意第一个按钮(第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>
Run Code Online (Sandbox Code Playgroud)
小智 5
我能够使用以下代码使用它:
<DataTemplate x:DataType="local:Customer">
<StackPanel Orientation="Vertical">
<Button Tapped="{x:Bind Clicky}" Content="{x:Bind Title}" />
</StackPanel>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
好像你需要把它放在一个容器内才能工作.我不知道为什么我在猜魔术.