Установка цвета фона на сетке Silverlight и возможность его редактирования - PullRequest
0 голосов
/ 22 декабря 2009

Первый столбец ниже работает отлично, за исключением того, что я не могу установить цвет фона. Второй столбец имеет цвет фона, работающий в большинстве случаев, за исключением того, что при использовании клавиш со стрелками для перемещения по сетке ячейка визуально не изменяется. Как проще всего просто изменить цвет фона черт возьми в текстовом столбце? Дополнительные баллы, если есть способ сделать это, не заходя в столбец шаблона и не разбирая столько строк кода.

                    <data:DataGridTextColumn
                        Header="Rank ST" 
                        Binding="{Binding Path=ShortTermRank}" 
                        IsReadOnly="False"
                    />

                    <data:DataGridTemplateColumn Header="Rank LT">
                        <data:DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <Border Background="Cornsilk">
                                    <TextBlock Text="{Binding Path=LongTermRank}" Margin="4" />
                                </Border>
                            </DataTemplate>
                        </data:DataGridTemplateColumn.CellTemplate>
                        <data:DataGridTemplateColumn.CellEditingTemplate>
                            <DataTemplate>
                                <TextBox Background="Cornsilk" Text="{Binding Path=LongTermRank, Mode=TwoWay}" />
                            </DataTemplate>
                        </data:DataGridTemplateColumn.CellEditingTemplate>
                    </data:DataGridTemplateColumn>

1 Ответ

0 голосов
/ 22 декабря 2009

Установка немного меньшей непрозрачности работает достаточно хорошо, и мне не нужно возиться с событиями или чем-то еще. Я собираюсь создать собственный тип столбца, который также позволит возобновить это, IMO, это должно быть в наборе инструментов, установка цвета фона не должна быть такой рутиной.

<data:DataGridTemplateColumn Header="Rank LT" SortMemberPath="LongTermRank">
    <data:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Grid>
                <Border Background="Cornsilk" Opacity=".5" />
                <TextBlock Text="{Binding Path=LongTermRank}" Margin="4" />
            </Grid>
        </DataTemplate>
    </data:DataGridTemplateColumn.CellTemplate>
    <data:DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <TextBox Background="Cornsilk" Text="{Binding Path=LongTermRank, Mode=TwoWay}" />
        </DataTemplate>
    </data:DataGridTemplateColumn.CellEditingTemplate>
</data:DataGridTemplateColumn>
...