Silverlight:设置值的语法问题
我正在使用 Silverlight 4。以下 XAML 工作正常:
<UserControl.Resources>
<ItemsPanelTemplate x:Key="WrapPanelTemplate">
<toolkit:WrapPanel />
</ItemsPanelTemplate>
</UserControl.Resources>
<ItemsControl x:Name="restOfHits"
ItemsSource="{Binding RestOfHits}"
ItemsPanel="{StaticResource WrapPanelTemplate}"
ItemTemplate="{StaticResource FileTemplate}"
Width="500"
Margin="0,50,0,0"
/>
但是,以下导致 VS 抱怨:
<ItemsControl x:Name="restOfHits"
ItemsSource="{Binding RestOfHits}"
ItemTemplate="{StaticResource FileTemplate}"
Width="500"
Margin="0,50,0,0"
>
<ItemsControl.ItemsPanel>
<toolkit:WrapPanel />
</ItemsControl.ItemsPanel>
</ItemsControl>
错误:
属性“ItemsPanel”不支持 “WrapPanel”类型的值。
这是为什么呢?如果我不想使用资源,指定 ItemsControl
应使用 WrapPanel
的正确方法是什么?
I'm using Silverlight 4. The following XAML works fine:
<UserControl.Resources>
<ItemsPanelTemplate x:Key="WrapPanelTemplate">
<toolkit:WrapPanel />
</ItemsPanelTemplate>
</UserControl.Resources>
<ItemsControl x:Name="restOfHits"
ItemsSource="{Binding RestOfHits}"
ItemsPanel="{StaticResource WrapPanelTemplate}"
ItemTemplate="{StaticResource FileTemplate}"
Width="500"
Margin="0,50,0,0"
/>
However, the following causes VS to complain:
<ItemsControl x:Name="restOfHits"
ItemsSource="{Binding RestOfHits}"
ItemTemplate="{StaticResource FileTemplate}"
Width="500"
Margin="0,50,0,0"
>
<ItemsControl.ItemsPanel>
<toolkit:WrapPanel />
</ItemsControl.ItemsPanel>
</ItemsControl>
The error:
Property 'ItemsPanel' does not support
values of type 'WrapPanel'.
Why is this? What is the proper way to specify that the ItemsControl
should use a WrapPanel
if I don't want to use Resources?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为 ItemsPanel 期望收到
ItemsPanelTemplate
而不是其他任何内容。您在第一个样本中这样做,但在第二个样本中则不然。你的第二个应该看起来像这样:-
Because ItemsPanel is expecting to receive an
ItemsPanelTemplate
and not anything else.You are doing that in your first sample but not in your second. Your second should look like this:-