在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>
我需要做什么,根据数据库的另一个列值(例如激活状态),btnActivate,btnDeactivate应该设置它们 是启用属性! 我怎么能做到这一点?
先谢谢
答案 0 :(得分:1)
您需要从按钮启动绑定到适当的属性:
<Button Name="btnEdit"
Content="Edit"
IsEnabled="{Binding DataContext.ActivationStatus, Converter={StaticResource MyStatusToBooleanConverter}, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGridRow}}}" />
答案 1 :(得分:1)
你应该(在DB中提供你的值是一个布尔值),使用绑定来设置状态。
例如:
<Button Name="btnActivate" Content="Activate" IsEnabled="{Binding ClassPropertyType}" />
然后当您使用类的列表设置ItemSource时,它将绑定到set boolean。