我已经看到了一些其他 Silverlight 'vs' 的问题,但找不到这个特定比赛的任何问题。
我正在尝试定义绑定到 a 的对象的ListBox
显示方式。我已经定义了 a DataTemplate
,但我真的不确定这应该在哪里结束以及ItemContainerStyle
应该从哪里开始。
问题 1:
是否ItemContainerStyle
只是一个包装器,DataTemplate
以便可以将通用项目样式应用于不同的数据布局?
问题 1a:如果是这样,如果不需要共同的项目样式,是否ItemContainerStyle
甚至需要或可以在 ? 中定义所有布局和样式DataTemplate
?
问题 1b:如果不是,那是什么?
目前ListBox
是这样的:
<ListBox Margin="40,118,41,61" ItemTemplate="{StaticResource TaskDataTemplate}"/>
我的 XAMLDataTemplate
是这样的:
<DataTemplate x:Key="TaskDataTemplate">
<Grid d:DesignHeight="95" Height="150">
<StackPanel Margin="11,8,-10,68" Orientation="Horizontal" d:LayoutOverrides="Width">
<TextBlock x:Name="TaskLabel" Margin="0,0,0,8" Style="{StaticResource TitleTextSmall}" TextWrapping="Wrap" Text="Task" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/>
<TextBlock x:Name="TaskID" HorizontalAlignment="Right" Margin="10,0,0,0" Style="{StaticResource TitleTextSmall}" TextWrapping="Wrap" Text="TaskID" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/>
<TextBlock x:Name="ChangeList" Style="{StaticResource NormalText}" TextWrapping="Wrap" Text="Changes..." Margin="30,2,0,0"/>
</StackPanel>
<ComboBox x:Name="TaskType" Style="{StaticResource TaskComboBox}" Height="29" VerticalAlignment="Top" Margin="131,30,16,0" d:LayoutOverrides="VerticalAlignment"/>
<TextBlock x:Name="TaskTypeLabel" Margin="12,39,0,0" Style="{StaticResource NormalTextBold}" TextWrapping="Wrap" Text="Variation Reason" VerticalAlignment="Top" HorizontalAlignment="Left" Height="21"/>
<TextBox x:Name="TaskDescription" Margin="12,70,15,11" TextWrapping="Wrap" Text="Enter description..." Style="{StaticResource TaskTextBox}" d:LayoutOverrides="VerticalAlignment"/>
</Grid>
</DataTemplate>
谢谢。