2015-10-14 76 views
0

结合领域我有这个XAML:设置ItemsControl中的DataTemplate在运行时

<ItemsControl> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <local:Column YControl="{Binding YData}" /> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

如何在运行时的字符串设定YDATA变量名?

+0

请问,什么是你的目的是什么?为什么你需要改变你绑定的属性名称? –

+0

此代码是usercontrol的一部分,我绑定的属性名称是外部参数 – Brainstorming

回答

1

您可以创建在C#中动态绑定:

<ItemsControl> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <local:Column Initialized="SetYControlBinding_OnColumnInitialized"/> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

后台代码:

void SetYControlBinding_OnColumnInitialized(object sender, EventArgs e) 
{ 
    var control = (Column)sender; 
    var binding = ... 
    control.SetBinding(Column.YControlProperty, binding); 
} 
+0

谢谢列洛:) – Brainstorming

相关问题