簡體   English   中英

綁定DataGridCell值發送到轉換器時遇到問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM