我看到了一些关于Silverlight的问题,但没有找到这个特定比较的答案。
我试图定义我的对象绑定到一个
问题1:
问题1a: 如果不需要通用项目样式,那么在
问题1b: 如果不是,那是什么?
我试图定义我的对象绑定到一个
ListBox
的显示方式。我已经定义了一个 DataTemplate
,但我真的不确定这应该在哪里结束,ItemContainerStyle
应该从哪里开始。问题1:
ItemContainerStyle
是 DataTemplate
的包装器,以便可以将通用项目样式应用于不同的数据布局吗?问题1a: 如果不需要通用项目样式,那么在
DataTemplate
中是否可以定义所有布局和样式,而无需使用 ItemContainerStyle
?问题1b: 如果不是,那是什么?
ListBox
目前是这样的:<ListBox Margin="40,118,41,61" ItemTemplate="{StaticResource TaskDataTemplate}"/>
我的DataTemplate
的XAML如下:
<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>
谢谢。