WPF. Программный Binding и CellTemplateSelector
От: MAMOHT  
Дата: 23.02.13 17:19
Оценка:
Доброго времени суток.

Я делаю сложный грид, в котором количество столбцов зависит от количество дней в месяце.

В связи с этим создаю столбцы и назначаю им биндинг программно примерно так:

for(int i=1; i<days; i++)
{
   Binding b = "DetailedPlan[" + i.ToString() + "].Volume"
бла-бла-бла
}



Мне понадобилось чтобы для некоторых строк, ячейки состояли из двух половинок, т.е. надо прикручивать CellTemplateSelector. Сделал.
Вот один из шаблонов.

<DataTemplate x:Key="MsgCellFirst">
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <Border BorderThickness="0, 0, 0, 1" Margin="-3" BorderBrush="{Binding MSGColor}">
        <TextBlock Text="{DetailedPlan[  ___???___look_at_me   ].Volume}" Grid.Row="0" TextAlignment="Center" Margin="0, 3, 0, 0"/>
    </Border>
    <TextBlock Text="факт" Grid.Row="1" TextAlignment="Center" Margin="0, 3, 0, 0"/>
</Grid>
</DataTemplate>


Но проблема в том, что я не могу залезть в этот шаблон и программно указать свой биндинг (посколько, шаблон выдает TemplateSelector, а он не знает, что это за столбец)

Кто-нибудь с таким сталкивался? Как обойти это ограничение?

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.