[英]Having trouble binding DataGridCell value to send to converter
我下面有以下轉換器,引發運行時錯誤:
System.Windows.Data警告:40:BindingExpression路徑錯誤:在“對象”“ ContentPresenter”(名稱=“)”上找不到“文本”屬性。 BindingExpression:路徑= Content.Text; DataItem ='DataGridCell'(Name =''); 目標元素是'DataGridCell'(Name =''); 目標屬性為“ IsTextMatch”(類型為“布爾”)
<DataGrid.Resources>
<helpers:SearchValueConverter x:Key="SearchValueConverter" />
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="helpers:SearchBehaviours.IsTextMatch">
<Setter.Value>
<MultiBinding Converter="{StaticResource SearchValueConverter}">
<Binding RelativeSource="{RelativeSource Self}" Path="Content.Text" />
<Binding RelativeSource="{RelativeSource Self}" Path="(helpers:SearchBehaviours.SearchValue)" />
</MultiBinding>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="helpers:SearchBehaviours.IsTextMatch" Value="True">
<Setter Property="Background" Value="Orange" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
有人可以看到問題所在嗎?
DataGridCell.Content
的對象可能沒有Text
屬性。
嘗試綁定到Content
:
<Binding RelativeSource="{RelativeSource Self}" Path="Content" />
然后測試“內容”的類型:
public object Convert(object[] values, ...
{
var textBlock = values[0] as TextBlock;
if (textBlock != null)
{
// do something with textBlock.Text ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.