我是 WPF 的新手。我卡在 XAML 的某个地方。此 XAML 代码正在运行:
<DataGridTextColumn Binding="{Binding Model.Name, UpdateSourceTrigger=PropertyChanged}">
<DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<DataTrigger Value="False"
Binding="{Binding DataContext.Model.Error[All],
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type DataGridRow}},
Converter={StaticResource IsNull}}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border>
<Grid>
<ContentPresenter x:Name="_cp" />
<Image Source="{DynamicResource Img.Warning}"
ToolTip="{Binding DataContext.Model.Error[Name],
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type DataGridRow}}" />
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
我想从第一行的绑定信息中获取变量字符串,如“All”、“Name”,以便在图像工具提示绑定中使用。如您所见,第一行的绑定信息在这里是“Model.Name”。我可以使用 Converter 仅获取“名称”字符串,但无法获取该绑定信息。
当我搜索时,我发现了一个使用 MultiBinding 的建议,我写了这段代码:
<DataGridTextColumn Binding="{Binding Model.Name, UpdateSourceTrigger=PropertyChanged}">
<DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<DataTrigger Value="False">
<DataTrigger.Binding>
<MultiBinding>
<MultiBinding.Converter>
<conv:DictionaryItemConverter />
</MultiBinding.Converter>
<Binding Path="DataContext.Model.Error"
RelativeSource="{RelativeSource FindAncestor,
AncestorType={x:Type DataGridRow}}" />
<Binding Path="?????" RelativeSource="?????" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border>
<Grid>
<ContentPresenter x:Name="_cp" />
<Image Source="{DynamicResource Img.Warning}">
<Image.ToolTip>
<Binding>
?????
</Binding>
</Image.ToolTip>
</Image
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
但如您所见,我一直坚持获取字符串信息。顺便说一句,DataContext.Model.Error 是一个像字典类一样工作的类,而 DictionaryItemConverter 正在从这个类中获取价值
结果,我的问题就是这个。
如何以字符串形式获取 DataTextColumn 的绑定信息?
预先感谢您的所有答案。
PS:英语不是我的母语。如果我犯了错误,对不起。
PS:我创建了一个示例来展示我想要的。你可以在这里下载:https ://mega.nz/#!oIJXgLxb!eBNqOIdby0UgkKgfqgCOVqYE1O-KwQH7cfEQxk6aCd0