我花了好几个小时,所以任何帮助都非常感谢:
我在DataTemplate中有一个TextBlock,它已经设置了ItemsSource。我想绑定TextBlock的Text并将Path设置为代码隐藏中不同对象的路径。我已经尝试了所有我能想到的东西:
<TextBlock Text="{Binding Path='{Binding ElementName=sendingComboColumn,Path=DisplayMemberPath}'}" />
我只是想不通如何动态设置路径!!它必须是通用的,具体取决于所谓的列。
答案 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);