我按如下方式设置了ListBox的ItemsSource:
<ListBox ItemsSource="{Binding abc}" />
我想要什么
<ListBox>
<listBox.ItemsSource>
?????????????
<listBox.ItemsSource>
</ListBox>
答案 0 :(得分:8)
<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>
答案 1 :(得分:4)
<ListBox>
<listBox.ItemsSource>
<Binding Path = "abs" />
<listBox.ItemsSource>
</ListBox>
答案 2 :(得分:1)
@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&#39;中引用它之前定义资源。 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>
此代码编译并执行OK。
答案 3 :(得分:0)
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>
从-
以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>