【问题标题】:Silverlight Binding Path DynamicallySilverlight 动态绑定路径
【发布时间】:2011-04-07 14:16:48
【问题描述】:
我已经为此花费了数小时,因此非常感谢任何帮助:
我在 DataTemplate 中有一个 TextBlock,它已经设置了 ItemsSource。我想绑定 TextBlock 的文本并将路径设置为代码隐藏中不同对象的路径。我已经尝试了所有我能想到的方法:
<TextBlock Text="{Binding Path='{Binding ElementName=sendingComboColumn,Path=DisplayMemberPath}'}" />
我就是不知道如何动态设置路径!!它必须是通用的,具体取决于调用它的列。
【问题讨论】:
标签:
silverlight
data-binding
binding
silverlight-4.0
path
【解决方案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);