在 DataTemplate 中,如何通过数据绑定获取页面的字段?
In DataTemplate ,how to get the page's field by databinding?
<ListView
x:Name="List"
ItemsSource="{x:Bind taglist}"
SelectionMode="None">
<ListView.ItemTemplate>
<DataTemplate x:DataType="x:String">
<RelativePanel HorizontalAlignment="Stretch">
<TextBlock
x:Name="str"
Text="{x:Bind}" />
<ComboBox
ItemsSource="{binding source=combolist}"/>
</RelativePanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
combolist是页面insatnce的字符串,字段的集合。
数据模板中的文本块控件使用列表作为数据源,但组合框使用另一个数据源(仅数据源相同,但不意味着相同的选择和控制动作)。
我尝试使用 {binding} 标记扩展,但这种数据绑定找不到变量。
为 Page
命名:
<Page x:Name="thePage" ...
使用 ElementName
:
绑定到它
<ComboBox ItemsSource="{Binding Path=combolist, ElementName=thePage}"/>
最后,您需要将 combolist
变成 public 属性,因为您无法绑定字段:
public List<string> combolist { get; set; }
<ListView
x:Name="List"
ItemsSource="{x:Bind taglist}"
SelectionMode="None">
<ListView.ItemTemplate>
<DataTemplate x:DataType="x:String">
<RelativePanel HorizontalAlignment="Stretch">
<TextBlock
x:Name="str"
Text="{x:Bind}" />
<ComboBox
ItemsSource="{binding source=combolist}"/>
</RelativePanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
combolist是页面insatnce的字符串,字段的集合。
数据模板中的文本块控件使用列表作为数据源,但组合框使用另一个数据源(仅数据源相同,但不意味着相同的选择和控制动作)。
我尝试使用 {binding} 标记扩展,但这种数据绑定找不到变量。
为 Page
命名:
<Page x:Name="thePage" ...
使用 ElementName
:
<ComboBox ItemsSource="{Binding Path=combolist, ElementName=thePage}"/>
最后,您需要将 combolist
变成 public 属性,因为您无法绑定字段:
public List<string> combolist { get; set; }