首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取对Silverlight ListBox的ItemsPanel的引用

如何获取对Silverlight ListBox的ItemsPanel的引用
EN

Stack Overflow用户
提问于 2009-05-14 04:49:45
回答 3查看 1.1K关注 0票数 2

我在Silverlight2中有一个ListBox,它使用网格作为它的ItemsPanelTemplate。在代码中,如何获得对Grid引用?

代码语言:javascript
运行
复制
<ItemsPanelTemplate x:Key="GridItemsPanel">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
        </Grid.RowDefinitions>
    </Grid>
</ItemsPanelTemplate>

<ListBox ItemsPanel="{StaticResource GridItemsPanel}" />

背景:

我想要做的就是向网格中添加非ListBoxItems的子元素。我正在尝试获得类似于Outlook日历日视图的内容,在该视图中,项目可以在分辨率为30分钟的网格上对齐。我有网格和ListBoxItem定位正确工作,但我希望能够渲染背景颜色,网格线,小时标签等,让用户清楚地看到时间和持续时间的ListBoxItems。

EN

回答 3

Stack Overflow用户

发布于 2009-05-19 21:25:57

如果你的目标是创建自定义渲染的列表框,这里有一个例子:

代码语言:javascript
运行
复制
<ListBox x:Name="lstMails">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid Background="Gray">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>

                <TextBlock Grid.Column="0" Text="{Binding Path=Subject}" />
                <TextBlock Grid.Column="1" Text="{Binding Path=Sender}" />
                <TextBlock Grid.Column="2" Text="{Binding Path=SentTime}" />
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

并通过代码隐藏或通过指定绑定来设置ItemsSource属性:

代码语言:javascript
运行
复制
lstMails.ItemsSource = /*collection of Mail objects*/;

希望,这很有帮助。

票数 0
EN

Stack Overflow用户

发布于 2009-09-30 18:10:37

如果你真的只想获得一个引用,而不考虑namescope,你可以使用VisualTreeHelper遍历它。不久前,我使用一个定制的包装器完成了这项工作

http://blogs.vertigo.com/personal/jimbg/Blog/archive/2008/10/24/walk-the-visual-tree.aspx

票数 0
EN

Stack Overflow用户

发布于 2009-05-14 04:57:57

您需要使用x:Name属性为Grid命名:

http://msdn.microsoft.com/en-us/library/cc189028(VS.95).aspx

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

https://stackoverflow.com/questions/861615

复制
相关文章

相似问题

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