我想用另一个按钮
DataGridTemplateColumn
ElementName
但它在回报我
unset framework value
在我的转换器里。我想根据按钮启用状态更改行颜色,但这是一个嵌套的控件
DataGrid
.
<DataGridTextColumn Header="{x:Static loc:ManageRequirementsResource.lblName}" Binding="{Binding Name}" Width="0.5*" HeaderStyle="{StaticResource DataGridDefaultColumnHeaderStyle}"
ElementStyle="{StaticResource UcPredecessorSuccessorEnableDisableStyle}"/>
<DataGridTextColumn Header="{x:Static loc:ManageRequirementsResource.lblDescription}" Binding="{Binding Description}" Width="*"
HeaderStyle="{StaticResource DataGridColumnHeaderStyleWithoutRightBorder}">
<DataGridTextColumn.ElementStyle>
<Style BasedOn="{StaticResource ToolTipWithContentTrimmedTextBlockStyle}" TargetType="{x:Type TextBlock}">
<Style.Resources>
<converters:MultiBindingPredecessorSuccessorIsEnabledConverter x:Key="MultiBindingPredecessorSuccessorIsEnabledConverter"/>
</Style.Resources>
<Style.Triggers>
<DataTrigger Value="False">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource MultiBindingPredecessorSuccessorIsEnabledConverter}">
<Binding />
<Binding ElementName="This" Path="ViewModel.SelectedRequirement"/>
##### Unable to find, UnSetValue, it's in another column
<Binding ElementName="btnAddCommand"/>
##### Unable to find, UnSetValue, it's in another column
<Binding ElementName="btnAddCommand" Path="IsEnabled"/>
</MultiBinding>
</DataTrigger.Binding>
<DataTrigger.Setters>
<Setter Property="Background" Value="{StaticResource GridHeaderBackgroundBrush}"/>
<Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}"/>
</DataTrigger.Setters>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTemplateColumn HeaderStyle="{StaticResource DataGridColumnNoBorderHeaderStyle}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button ToolTip="{x:Static reqPages:TraceabilityResource.linkToEditRequirementsTooltip}" Style="{StaticResource PopupMenueButtonStyle}" Click="LinkButton_OnClick" PreviewMouseLeftButtonUp="Button_OnMouseLeftButtonUp">
<Image Source="/Project;component/Resources/Images/link.png" Height="13" Width="13" />
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn HeaderStyle="{StaticResource DataGridColumnNoBorderHeaderStyle}" x:Name="DataGridTemplateColumn">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.Style>
<Style TargetType="Grid">
<Setter Property="Background" Value="White" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=btnAddCommand, Path=IsEnabled}" Value="False">
<Setter Property="Background" Value="{StaticResource GridHeaderBackgroundBrush}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
**<!-- ######## I want to bind with this button ######-->**
<Button x:Name="btnAddCommand" ToolTipService.ShowOnDisabled="True" Command="{Binding ElementName=This, Path=ViewModel.AddingCommand}" CommandParameter="{Binding}" PreviewMouseLeftButtonUp="Button_OnMouseLeftButtonUp" Style="{StaticResource PopupMenueButtonStyle}">
<Image Height="20" >
<Image.Source>
<MultiBinding Converter="{StaticResource MultiBindingPredecessorSuccessorImageSourceConverter}">
<Binding/>
<Binding ElementName="This" Path="ViewModel.SelectedRequirement"/>
<Binding ElementName="btnAddCommand"/>
<Binding RelativeSource="{RelativeSource self}" Path="IsEnabled"/>
</MultiBinding>
</Image.Source>
</Image>
<Button.ToolTip>
<MultiBinding Converter="{StaticResource MultiBindingPredecessorSuccessorToolTipConverter}">
<Binding/>
<Binding ElementName="This" Path="ViewModel.SelectedRequirement"/>
<Binding ElementName="btnAddCommand"/>
<Binding ElementName="This" Path="ViewModel.IsSuccessor"/>
<Binding RelativeSource="{RelativeSource self}" Path="IsEnabled"/>
</MultiBinding>
</Button.ToolTip>
</Button>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>