我设置了ListBox的ItemsSource,如下所示:
<ListBox ItemsSource="{Binding abc}" />
字符串
我想要的
<ListBox> <listBox.ItemsSource> ????????????? <listBox.ItemsSource> </ListBox>
型
hwazgwia1#
<Window xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <ListBox> <ListBox.ItemsSource> <x:Array Type="sys:String"> <sys:String>1st item</sys:String> <sys:String>2nd item</sys:String> </x:Array> <ListBox.ItemsSource> </ListBox> </Window>
gkn4icbw2#
<ListBox> <listBox.ItemsSource> <Binding Path = "abs" /> <listBox.ItemsSource> </ListBox>
2g32fytz3#
Xamarin示例
如果你浏览这个页面是为了寻找一个Xamarin示例(这个问题似乎对XAML来说很普通),那么你可以尝试-
<Picker x:Name="picker" Title="Select a monkey" TitleColor="Red"> <Picker.ItemsSource> <x:Array Type="{x:Type x:String}"> <x:String>Baboon</x:String> <x:String>Capuchin Monkey</x:String> <x:String>Blue Monkey</x:String> <x:String>Squirrel Monkey</x:String> <x:String>Golden Lion Tamarin</x:String> <x:String>Howler Monkey</x:String> <x:String>Japanese Macaque</x:String> </x:Array> </Picker.ItemsSource> </Picker>
字符串从-https://learn.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/picker/populating-itemssource#populating-a-picker-with-data这里使用Picker作为示例,但是ItemsSource语法可以根据外部控件进行互换,如下所示-
<ListView> <ListView.ItemsSource> <x:Array Type="{x:Type x:String}"> <x:String>mono</x:String> <x:String>monodroid</x:String> <x:String>monotouch</x:String> <x:String>monorail</x:String> <x:String>monodevelop</x:String> <x:String>monotone</x:String> <x:String>monopoly</x:String> <x:String>monomodal</x:String> <x:String>mononucleosis</x:String> </x:Array> </ListView.ItemsSource> </ListView>
ztyzrc3y4#
@HighCore,@DanPazey和@Vishal:事实上,标记绑定语法可能被证明是有用的,甚至是必要的。更不用说多绑定了,请考虑以下几点。假设你需要将ListBox绑定到CollectionViewSource(用于排序或其他)。像这样:
<Window.Resources> <CollectionViewSource x:Key="abc_CVS_Key" Source="{Binding abc}" /> </Window.Resources> <ListBox ItemsSource="{Binding Source={StaticResource abc_CVS_Key}}"> </ListBox>
字符串然后,出于技术原因,您可能希望将CVS资源的范围限制为仅包含有问题的ListBox。如果在属性中写下ItemsSource绑定,
<ListBox ItemsSource="{Binding Source={StaticResource abc_CVS_Key}}"> <ListBox.Resources> <CollectionViewSource x:Key="abc_CVS_Key" Source="{Binding abc}" /> </List.Resources> </ListBox>
型您的代码将编译,但运行时您的程序将找不到您的abc_CVS_Key资源键,因为该资源已在代码中稍后定义。您需要在ListBox的ItemsSource绑定中引用它之前定义资源。像这样:
<ListBox> <ListBox.Resources> <CollectionViewSource x:Key="abc_CVS_Key" Source="{Binding abc}" /> </List.Resources> <ListBox.ItemsSource> <Binding Source="{StaticResource abc_CVS_Key}" /> </ListBox.ItemsSource> </ListBox>
型此代码编译并执行正常。
bvpmtnay5#
对于WinUI 3:我们在WinUI 3中没有x:Array。但我们可以创建类似的东西:
x:Array
namespace SampleApp.Helpers; public class XamlList : List<object> { }
字符串这样使用它:
<ItemsRepeater> <ItemsRepeater.ItemsSource> <helpers:XamlList> <x:String>Item A</x:String> <x:String>Item B</x:String> <x:String>Item C</x:String> </helpers:XamlList> </ItemsRepeater.ItemsSource> </ItemsRepeater>
5条答案
按热度按时间hwazgwia1#
字符串
gkn4icbw2#
字符串
2g32fytz3#
Xamarin示例
如果你浏览这个页面是为了寻找一个Xamarin示例(这个问题似乎对XAML来说很普通),那么你可以尝试-
字符串
从-
https://learn.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/picker/populating-itemssource#populating-a-picker-with-data
这里使用Picker作为示例,但是ItemsSource语法可以根据外部控件进行互换,如下所示-
型
ztyzrc3y4#
@HighCore,@DanPazey和@Vishal:
事实上,标记绑定语法可能被证明是有用的,甚至是必要的。
更不用说多绑定了,请考虑以下几点。
假设你需要将ListBox绑定到CollectionViewSource(用于排序或其他)。像这样:
字符串
然后,出于技术原因,您可能希望将CVS资源的范围限制为仅包含有问题的ListBox。
如果在属性中写下ItemsSource绑定,
型
您的代码将编译,但运行时您的程序将找不到您的abc_CVS_Key资源键,因为该资源已在代码中稍后定义。您需要在ListBox的ItemsSource绑定中引用它之前定义资源。像这样:
型
此代码编译并执行正常。
bvpmtnay5#
对于WinUI 3:
我们在WinUI 3中没有
x:Array
。但我们可以创建类似的东西:字符串
这样使用它:
型