Xaml内部错误错误WMC9999:对象引用未设置为对象的实例

时间:2017-10-31 15:12:00

标签: xaml uwp winrt-xaml

这已经出现了几次,我在UWP应用程序中一整天都在苦苦挣扎。

我的具体问题是我在使用x:绑定在DataTemplate内的ContentTemplate中:

<DataTemplate x:DataType="IFactionMember">
  <Button Command="{x:Bind **Property of IFactionMember**}"> // Good
    <Button.Template>
      <ControlTemplate TargetType="Button">
        <Grid Padding="10,0">
          <TextBlock Text="{x:Bind **Property of IFactionMember**}" /> // Bad
        </Grid>
      </ControlTemplate>
    </Button.Template>
  </Button>
</DataTemplate>

你不能这样做:(

1 个答案:

答案 0 :(得分:0)

您可以使用{Binding}代替您的方案,例如:

<ListView x:Name="listview" ItemsSource="{x:Bind members}">
    <ListView.ItemTemplate>
        <DataTemplate x:DataType="local:IFactionMember">
            <Button > 
                <Button.Template>
                    <ControlTemplate TargetType="Button" >
                        <Grid Padding="10,0">
                            <TextBlock Text="{Binding  testtext}" />  
                        </Grid>
                    </ControlTemplate>
                </Button.Template>
            </Button>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

x:bind缺少{Binding}的部分功能,在x:Bind中,Path默认情况下以页面为根,而不是DataContext,似乎就像你在这里使用x:bind一样,它会尝试在MainPage找到属性,这样它就找不到正确的属性。