首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataTemplate对ItemContainerStyle

DataTemplate对ItemContainerStyle
EN

Stack Overflow用户
提问于 2011-05-12 13:01:13
回答 1查看 6.8K关注 0票数 9

我见过其他几个Silverlight 'vs‘的问题,但找不到这场特殊比赛的任何问题。

我试图定义绑定到ListBox的对象的显示方式。我已经定义了一个DataTemplate,但是我真的不知道这应该在哪里结束,ItemContainerStyle应该从哪里开始。

问题1:是否只是DataTemplate的包装器,以便将公共项样式应用于不同的数据布局?

问题1a:如果是这样,如果不需要公共项样式,ItemContainerStyle甚至是必需的,还是可以在DataTemplate中定义所有布局和样式?

问题1b:如果不是,,那又是什么?

ListBox目前是这样的:

代码语言:javascript
复制
<ListBox Margin="40,118,41,61" ItemTemplate="{StaticResource TaskDataTemplate}"/>

我的DataTemplate的XAML如下所示:

代码语言:javascript
复制
<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>

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-12 13:28:35

答1:是的

答:据我所知,您可以在ItemTemplate中完成所有样式设计,但是ItemContainerStyle有VisualStates,它可以控制鼠标上的不透明度/禁用/选中等等。

如果您想要更改这些不透明状态,或者如果您想要矩形以外的任何容器形状,例如三角形,那么您必须重写默认的ItemContainerStyle。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5978358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档