Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于datagrid c#wpf中的列从datagrid视图禁用按钮_C#_Wpf_Data Binding_Datagrid - Fatal编程技术网

基于datagrid c#wpf中的列从datagrid视图禁用按钮

基于datagrid c#wpf中的列从datagrid视图禁用按钮,c#,wpf,data-binding,datagrid,C#,Wpf,Data Binding,Datagrid,如何禁用wpf中的按钮 我有一个名为availability的列,它应该包含值available或availability, 如果值不可用,我想禁用按钮: <DataGridTemplateColumn> <DataGridTemplateColumn.CellTemplate> <DataTempl

如何禁用
wpf
中的按钮

我有一个名为
availability
的列,它应该包含值
available
availability
, 如果值不可用,我想禁用按钮:

                        <DataGridTemplateColumn>
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <Button x:Name="deployBtn" Click="deployBtn_Click" Height="25" Width="45" Background="#FF43B46C"  Margin="0 -3 0 0">
                                        <Button.ToolTip>
                                            <ToolTip>
                                                <StackPanel>
                                                    <TextBlock FontWeight="Bold">Deploy</TextBlock>
                                                </StackPanel>
                                            </ToolTip>
                                        </Button.ToolTip>
                                        <Grid>
                                            <materialDesign:PackIcon Kind="PackageUp" HorizontalAlignment="Left" VerticalAlignment="Center"  Width="35" Margin="-12 0 0 0"/>
                                        </Grid>
                                    </Button>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>

                        </DataGridTemplateColumn>


部署

您可以尝试使用DataTemplate触发器并在其中设置所需的属性。例如,如果Availability是DataTemplateColumn的DataContext中的一个属性,则其外观几乎如下所示:

<DataGridTemplateColumn.CellTemplate>
  <DataTemplate>
     <Button x:Name="deployBtn" Click="deployBtn_Click" Height="25" Width="45" Background="#FF43B46C"  Margin="0 -3 0 0">
     //...your code
     </Button>
  <DataTemplate.Triggers> 
     <DataTrigger Binding="{Binding DataContext.Availability RelativeSource={RelativeSource AncestorType=DataTemplateColumn}}" Value="Unavailable">
        <Setter Property="IsEnabled" TargetName="deployBtn" Value="False"/>
     </DataTrigger>
  </DataTemplate.Triggers>
  </DataTemplate>

//…您的代码

是否尝试在按钮上设置IsEnabled属性?