Silverlight数据绑定在代码后面

Jas*_*ver 1 data-binding silverlight xaml

我在Silverlight 3数据网格中做了类似的事情:

for (int x = 0; x < ThisForecast.Periods.Count; x++)
{
   var TextColumn = new DataGridTextColumn();
   TextColumn.Header = ThisForecast.Periods[x].Name;
   TextColumn.Binding = new Binding(String.Format("Periods[{0}].Quantity", x));
   TextColumn.Binding.Mode = BindingMode.TwoWay;
   TextColumn.IsReadOnly = false;
   dgItemForecast.Columns.Add(TextColumn);
}
Run Code Online (Sandbox Code Playgroud)

并且它工作得很好,但我想将ready更改为更像:TextColumn.IsReadOnly = new Binding(String.Format("Periods [{0}].IsReadOnly",x));

虽然在XAML中似乎很容易做到,但我无法找到在后面的代码中执行此操作的正确方法.显然我无法将其设置为"绑定",但我可以在哪里设置类似的东西?

编辑#1:

我看了BindingOperations.SetBinding()下面给出的,但找不到DependencyPropertyIsReadOnly.有没有办法注入/添加一个?

ito*_*son 5

BindingOperations.SetBinding(textColumn, DataGridTextColumn.IsReadOnlyProperty, new Binding(...));
Run Code Online (Sandbox Code Playgroud)