微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

silverlight-4.0 – DataTemplate与ItemContainerStyle

我已经看过其他一些Silverlight’vs’问题了,但找不到任何特别的比赛.

我正在尝试定义绑定到ListBox的对象的显示方式.我已经定义了一个DataTemplate,但我真的不确定它应该在哪里结束并且ItemContainerStyle应该开始.

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

问题1a:如果是这样,如果不需要通用项目样式,ItemContainerStyle是否必要或者是否可以在DataTemplate中定义所有布局和样式?

问题1b:如果没有,so what is it?

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,8" Style="{StaticResource TitleTextSmall}" textwrapping="Wrap" Text="Task" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/>
                <TextBlock x:Name="TaskID" HorizontalAlignment="Right" Margin="10,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"/>
            </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" 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>

谢谢.

解决方法

答案1:是的

答案1a:据我所知,你可以在ItemTemplate中完成所有样式,但ItemContentStyle有VisualStates控制鼠标悬停/禁用/选择等的不透明度.

如果要更改这些不透明度状态更改,或者如果您想要除矩形之外的任何容器形状(例如三角形),则必须覆盖认的ItemContainerStyle.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐