这已经出现了几次,我在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>
你不能这样做:(
答案 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
找到属性,这样它就找不到正确的属性。