バインディングに関する次のトレース情報を取得します。
System.Windows.Data Warning: 55 : Created BindingExpression (hash=45919010) for Binding (hash=4523055)
System.Windows.Data Warning: 57 : Path: 'IsEnvelopeFocused'
System.Windows.Data Warning: 59 : BindingExpression (hash=45919010): Default mode resolved to TwoWay
System.Windows.Data Warning: 60 : BindingExpression (hash=45919010): Default update trigger resolved to PropertyChanged
System.Windows.Data Warning: 61 : BindingExpression (hash=45919010): Attach to System.Windows.Controls.DataGridCell.IsFocused (hash=42777048)
System.Windows.Data Warning: 66 : BindingExpression (hash=45919010): Resolving source
System.Windows.Data Warning: 69 : BindingExpression (hash=45919010): Found data context element: DataGridCell (hash=42777048) (OK)
System.Windows.Data Warning: 77 : BindingExpression (hash=45919010): Activate with root item VulnerEnvelope (hash=53089570)
System.Windows.Data Warning: 106 : BindingExpression (hash=45919010): At level 0 using cached
accessor for VulnerEnvelope.IsEnvelopeFocused: RuntimePropertyInfo(IsEnvelopeFocused)
System.Windows.Data Warning: 103 : BindingExpression (hash=45919010): Replace item at level 0 with VulnerEnvelope (hash=53089570), using accessor RuntimePropertyInfo(IsEnvelopeFocused)
System.Windows.Data Warning: 100 : BindingExpression (hash=45919010): GetValue at level 0 from VulnerEnvelope (hash=53089570) using RuntimePropertyInfo(IsEnvelopeFocused): 'False'
System.Windows.Data Warning: 79 : BindingExpression (hash=45919010): TransferValue - got raw value 'False'
また、コンバーターを使用してデータ フローを出力しTarget -> Source
ますSource -> Target
。
これに加えて、添付プロパティが変更されるたびにバインディング情報を出力します。
バインディングはアクティブのままですが、ソースとターゲットは同期しません。この壊れた機能の原因がわかりません。VS2012 が警告 106 を赤で出力するので、問題はこのメッセージの近くにあると思います。
そして、ここにバインディングがあります:
<DataGridTemplateColumn Width="*" CanUserResize="True" CanUserSort="True" Header=" Title "
SortMemberPath=".">
<DataGridTemplateColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="Helpers:FocusHelper.IsFocused" Value="{Binding IsEnvelopeFocused, Converter={StaticResource bdc}, PresentationTraceSources.TraceLevel=High}"/>
</Style>
</DataGridTemplateColumn.CellStyle>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Name="txtTitle" VerticalAlignment="Center">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource TitleConverter}" UpdateSourceTrigger="PropertyChanged">
<Binding Path="." />
<Binding Path="DataContext.Language" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=UserControl}" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>