基于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属性?