【问题标题】:Binding background property inside template of LongListSelector在 LongListSelector 的模板内绑定背景属性
【发布时间】:2013-11-13 08:12:25
【问题描述】:

我有我的班级:

public class MyClass
{

    public string MyColor { get; set; }

    public class TeamOfCreators : ObservableCollection<Creator>
    {
        public string CategoryName { get; set; }

    }
    public ObservableCollection<TeamOfCreators> TeamsOfCreators { get; set; }

}

还有 Xaml:

<toolkit:LongListSelector ItemsSource="{Binding MyClass.TeamsOfCreators}" Height="530">
                    <toolkit:LongListSelector.GroupItemTemplate>
                        <DataTemplate>
                            <Border Background="{Binding MyColor, Converter={StaticResource NativeColorConverter}}" />      
                            <TextBlock Text="{Binding CategoryName}" Style="{StaticResource PhoneTextGroupHeaderStyle}"/>
                            </Border>
                        </DataTemplate>
                    </toolkit:LongListSelector.GroupItemTemplate>
</toolkit:LongListSelector>

我应该如何绑定背景,以实现 MyColor?在 xaml 中的 Background 中的绑定应该如何看待?

【问题讨论】:

  • 你是如何设置 xaml DataContext 的?

标签: c# xaml binding datatemplate longlistselector


【解决方案1】:

在 DataTemplate 中,DataContext 是一个对象,例如对于TeamCreatorTeamCreator 没有名为 MyColor 的属性 - 每个 TeamCreator 都有自己的颜色,还是所有对象都只有一种颜色?

如果每个TeamCreator 都有自己的颜色,请将MyColor 属性移动到TeamCreator 类。

如果您想控制来自MyClass 的所有TeamCreator 对象的背景属性,则必须访问DataTemplate 之外的DataContext。

例如,如果您已将 DataContext 设置在 Window 上,

<Window x:Name="MyWindow">

<toolkit:LongListSelector ItemsSource="{Binding TeamsOfCreators}">
    <toolkit:LongListSelector.GroupItemTemplate>
        <DataTemplate>
            <Border Background="{Binding DataContext.MyColor, 
                                         ElementName=MyWindow, 
                                         Converter={StaticResource NativeColorConverter}}"/>      
                <!-- ... -->
            </Border>
        </DataTemplate>
    </toolkit:LongListSelector.GroupItemTemplate>
</toolkit:LongListSelector>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    相关资源
    最近更新 更多