2017-06-28 8 views
0

バインディングプロパティUpdateSourceTriggerStyleに設定する方法を探しています。私が何をしたいかXAMLのスタイルでバインディングプロパティを設定するC#

<TextBox Text="{Binding boundValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/> 

は、このようなものである(しかし、これは明らかに動作しません):現在、私はこのような手動ですべてのTextBoxでそれを設定してい

<Window.Resources> 
    <Style TargetType="{x:Type TextBox}"> 
     <Setter Property="Binding.UpdateSourceTrigger" Value="PropertyChanged" /> 
    </Style> 
</Window.Resources> 
<Grid> 
    <TextBox Text="{Binding boundValue, Mode=TwoWay}"/> 
</Grid> 

答えて

1

スタイルがために意図されていますFrameworkElement(および誘導された対照)。

BindingはFrameworkElementではありません。

public class PropertyChangedBinding : Binding 
{ 
    public PropertyChangedBinding(string path) 
     : base(path) 
    { 
     UpdateSourceTrigger = System.Windows.Data.UpdateSourceTrigger.PropertyChanged; 
    } 

    public PropertyChangedBinding() 
     : base() 
    { 
     UpdateSourceTrigger = System.Windows.Data.UpdateSourceTrigger.PropertyChanged; 
    } 
} 

だからあなたのXAMLにあなたが {local:PropertyChangedBinding ...}を使用することができます。

とにかく、あなたの必要性の結合特性を設定するための独自のmarkup extensionを作成することができます。

+0

これはとてもうまく動作します。ありがとうございました! –

+0

ようこそ@RomanoZumbé –

関連する問題