代码之家  ›  专栏  ›  技术社区  ›  Zain Shaikh

如何在Silverlight中将额外属性传递给DataTemplate中的usercontrol

  •  0
  • Zain Shaikh  · 技术社区  · 14 年前

        <ScrollViewer Margin="0,0,0,0" BorderThickness="0">
            <ItemsControl x:Name="itemsStackPanel">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <controls:UserItem Margin="0, 5, 0, 3"></controls:UserItem>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </ScrollViewer>
    

    我已经为ItemsControl分配了一个列表。

        this.itemsStackPanel.ItemsSource = usersList;
    

        <controls:UserItem Margin="0, 5, 0, 3" CurrentColumnInfo={Binding oColumnInfo}></controls:UserItem>
    

    这个 oColumnInfo公司

    2 回复  |  直到 14 年前
        1
  •  1
  •   Vladimir Dorokhov    14 年前

    使用下一个实践(它喜欢ria控件):

    公共类对象提供程序:控件 { 公共对象对象{get;set;} }

    <!-额外属性提供程序-->

    <

    第三,在你的项目模板中:

    <控件:UserItem Margin=“0,5,0,3”CurrentColumnInfo={Binding ElementName=provider,Path=Object}/>

    第四,暗号

    就这样

    首先,在项目模板中

    <

    其次,在代码背后:

    //注意!!!必须在构造函数gt中执行,在初始化之前,这就是为什么这种方式不是那么灵活的原因。 从代码后面设置资源并在标记中绑定到它不是一个好的实践

        2
  •  0
  •   anivas    14 年前

    如果要使用 {Binding Path=oColumnInfo}