The following code works as long as I only test one trigger. When I began adding single buttons into each cell, everything seemed fine. However, the issue arose when I added one cell with two buttons and unexpectedly, all other cells also received double buttons
<DataGridTemplateColumn Header="Signal" CanUserResize="False" CanUserReorder="False" Width="80" MaxWidth="80" HeaderStyle="{StaticResource CenterGridHeaderStyle}">
<DataGridTemplateColumn.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding DataContext.ShowDoubleButton, RelativeSource={RelativeSource AncestorType=DataGrid}}" Value="True">
<Setter Property="BorderBrush" Value="Gray"/>
<Setter Property="Background" Value="LightGray"/>
<Setter Property="BorderThickness" Value="0.3"/>
<Setter Property="Height" Value="25"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="TextBlock.TextAlignment" Value="Center" />
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding DataContext.BrowseCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"
Width="39"
Height="25"
BorderBrush="LightGray"
Background="LightGray">
<Image Source="iconsaddFolder.png" Margin="0,0,0,0"/>
</Button>
<Button Command="{Binding DataContext.BrowseCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"
Width="39"
Height="25"
BorderBrush="LightGray"
Background="LightGray">
<Image Source="iconsaddFolder.png" Margin="0,0,0,0"/>
</Button>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DataContext.ShowDoubleButton, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGrid}}}" Value="False">
<Setter Property="BorderBrush" Value="Gray"/>
<Setter Property="Background" Value="LightGray"/>
<Setter Property="BorderThickness" Value="0.3"/>
<Setter Property="Height" Value="25"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="TextBlock.TextAlignment" Value="Center" />
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Button Command="{Binding DataContext.BrowseCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"
Width="35"
Height="25"
BorderBrush="LightGray"
Background="LightGray">
<Image Source="iconsaddFolder.png" Margin="0,0,0,0"/>
</Button>
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTemplateColumn.CellStyle>
</DataGridTemplateColumn>
New contributor
Orwa Alabsi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.