Kasthuri Gunabalasingam Ответов: 1

Кнопка enbale/disable (внутри представления datagrid ) на основе значения из базы данных-WPF


В окне WPF представление таблицы данных будет загружаться из базы данных.

Это код проектирования для представления таблицы данных.(Он содержит 2 столбца-имя, действие)

<DataGrid x:Name="dgrid" HorizontalAlignment="Left" Margin="0,65,0,0" VerticalAlignment="Top" >
        <DataGrid.Columns>
            <DataGridTextColumn Header="Name"  Binding="{Binding Name}"  Width="160"></DataGridTextColumn>
            <DataGridTemplateColumn Header="Action" Width="*">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Button Name="btnEdit" Content="Edit" />
                            <Button Name="btnDelete" Content="Delete" />
                            <Button Name="btnActivate" Content="Activate" />
                            <Button Name="btnDeactivate" Content="Deactivate" />
                        </StackPanel>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

        </DataGrid.Columns>
    </DataGrid>



Столбец Name привязывает значение к значению базы данных, а следующий столбец содержит 4 кнопки!

что мне нужно для этого сделать, основываясь на другом значении столбца базы данных(например, статус активации), btnActivate, btnDeactivate должны установить свое свойство is Enable! как я могу это сделать?

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

Что я уже пробовал:

Я попытался прочитать значения базы данных из списка элементов списка, а затем перебрать список элементов и добавить значения в представление таблицы данных!

сайту dgrid.Предметы.Добавить (новый { Name=olist.name });

1 Ответов

Рейтинг:
5

Bernhard Hiller

Прежде всего, не добавляйте элементы вручную, используйте привязку.
dgrid.DataContext=[your viewmodel];
Вы должны добавить немного bool свойства к ViewModel которые указывают на включенное состояние ваших кнопок, а затем привязывают IsEnabled собственность:
IsEnabled="{Binding TheProperty}"