silverlight
  • data-binding
  • binding
  • silverlight-4.0
  • path
  • 2010-09-02 184 views 1 likes 
    1

    我花在这个所以任何的帮助深表感谢小时:Silverlight的绑定路径动态

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

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

    我只是不知道如何动态设置路径!它必须是通用的,取决于调用哪一列。

    回答

    1

    我终于找到了解决方案!我只是在代码中创建一个新的DataTemplate并将ListBox.ItemTemplate分配给新的DataTemplate,而不是尝试动态更改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); 
    
    相关问题