繁体   English   中英

如何禁用WPF DataGrid的某些按钮

[英]How to disable some button of wpf datagrid

我有一个WPF DataGrid。 其中有一列包含“编辑”按钮,例如,如何编程地启用或禁用某些数据网格按钮

 <DataGrid AutoGenerateColumns="True" Height="80" Margin="2,-4,8,0" Name="grdQHDRShowAll" VerticalAlignment="Top" ItemsSource="{Binding}" IsReadOnly="True" SelectionChanged="grdQHDRShowAll_SelectionChanged">
                                        <DataGrid.Columns>

                                            <DataGridTemplateColumn>
                                                <DataGridTemplateColumn.CellTemplate>
                                                    <DataTemplate>
                                                        <Button Click="Qhdr_CreateOrder_Click"  CommandParameter="{Binding Path=QuoteNo}" >Create Order</Button>
                                                    </DataTemplate>
                                                </DataGridTemplateColumn.CellTemplate>
                                            </DataGridTemplateColumn>
                                        </DataGrid.Columns>
                                    </DataGrid>

上面的代码有一列带有按钮的列,所以我想知道如何禁用行中的某些按钮取决于其他列数据,例如第二列的true和false值,如果第二列第一行的数据为true,则第一列第一行的按钮应为启用方法取决于任何其他列如何启用/禁用datagrid按钮?

如果您使用MVVM模式,则可以将Button的IsEnabled属性绑定到VM的布尔属性,或者使用转换器将其转换为布尔类型:

<Button IsEnabled="{Binding Path=BoolProp}"/>

如果没有,则可以使用elementbinding将其绑定到元素:

<Button IsEnabled="{Binding ElementName=CellName, Path=BoolProp}"/>
  <Button Content="Approve" VerticalAlignment="Center" Height="23" Width="90" FontWeight="Bold" Command="{Binding ApprovedCommand}" Margin="5,0,0,0" IsEnabled="{Binding IsEnabled,Mode=TwoWay}"/>

在MVVM中,您创建一个属性,并根据情况使IsEnabled为true或false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM