Silverlight绑定路径动态

时间:2010-09-02 22:07:33

标签: silverlight data-binding binding silverlight-4.0 path

我花了好几个小时,所以任何帮助都非常感谢:

我在DataTemplate中有一个TextBlock,它已经设置了ItemsSource。我想绑定TextBlock的Text并将Path设置为代码隐藏中不同对象的路径。我已经尝试了所有我能想到的东西:

<TextBlock Text="{Binding Path='{Binding ElementName=sendingComboColumn,Path=DisplayMemberPath}'}" />

我只是想不通如何动态设置路径!!它必须是通用的,具体取决于所谓的列。

1 个答案:

答案 0 :(得分:1)

我终于找到了解决方案!我没有尝试动态更改DataTemplate中的路径,而只是在代码中创建一个新的DataTemplate,并将ListBox.ItemTemplate分配给新的DataTemplate:

public static DataTemplate CreateTemplate(string path)
        {
            return (DataTemplate)XamlReader.Load(
                @"<DataTemplate xmlns=""http://schemas.microsoft.com/client/2007"">
                    <StackPanel Orientation='Horizontal'>
                        <CheckBox IsChecked='{Binding}' />
                        <TextBlock Text='{Binding Path=" + path + @"}'/>
                    </StackPanel>
                  </DataTemplate>"
                );
        }
    this.listBox.ItemTemplate = CreateTemplate(path);