Как установить значение в шаблоне заголовка строки сетки данных? - PullRequest
3 голосов
/ 31 марта 2011

Я пытаюсь создать шаблон строки заголовка с привязкой, но привязка не работает. Это то, что я имею до сих пор:

       <DataGrid Name="dgFruit" ItemsSource="{Binding}" AutoGenerateColumns="false"><!--ItemTemplate="{StaticResource datagrid}"-->
            <DataGrid.RowHeaderTemplate>
                <DataTemplate>
                    <Label Content="{Binding Path=Number, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
                </DataTemplate>
            </DataGrid.RowHeaderTemplate>
            <DataGrid.Columns>
                <DataGridTextColumn Binding="{Binding Path=Name}" Header="Name"/>
                <DataGridTextColumn Binding="{Binding Path=Color}" Header="Color"/>
                <DataGridCheckBoxColumn Binding="{Binding Path=Mjummy}" Header="Mjummy"/>
            </DataGrid.Columns>
        </DataGrid>

Я получаю заголовки строк, если я устанавливаю для содержимого значение, например «45», но когда я пытаюсь выполнить привязку, заголовки строк больше не отображаются. Я пытаюсь привязать свойство из того же класса, что и значения в столбцах.

Итак, как мне получить числовое значение из моего списка?

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 04 апреля 2011

кажется, что если поместить его в стиль, то лучше:

        <Style TargetType="DataGridRowHeader">
            <Setter Property="Content" Value="{Binding Path=Number}" />
            <Setter Property="Padding" Value="10,0,10,0" />
        </Style>
0 голосов
/ 31 марта 2011

просто удалите объект RelativeSource:

<DataGrid.RowHeaderTemplate>
   <DataTemplate>
      <Label Content="{Binding Path=Number}"/>
   </DataTemplate>
</DataGrid.RowHeaderTemplate> 

Число - это свойство элемента dataItem, а не самой Grid.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...