1

依存関係プロパティをテキスト ボックスに追加し、その依存関係プロパティをブール値プロパティにシルバー ライトでバインドする方法を教えてください。私のブール値のプロパティは私のビューモデルにあります。

ImageSearchIsFocused は、テキスト ボックスにフォーカスを設定できるプロパティです。

<TextBox  Text="{Binding ImgSearch, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">   
    <i:Interaction.Behaviors>
        <common:FocusBehavior HasInitialFocus="True" IsFocused="{Binding ImageSearchIsFocused, Mode=TwoWay}" ></common:FocusBehavior>
    </i:Interaction.Behaviors>
</TextBox>

ImageIsFocused プロパティ

bool _ImageSearchIsFocused;
public bool ImageSearchIsFocused
{
    get { return _ImageSearchIsFocused; }
    set
    { 
        _ImageSearchIsFocused = value;
        NotifyPropertyChanged("ImageSearchIsFocused");
    }
}
4

1 に答える 1

0

依存関係プロパティを追加する場合は、TextBox のサブクラスを作成し、サブクラスに依存関係プロパティを追加します。次に、それを好きなものにバインドできます。

public class MyTextBox : TextBox
{ 

    public static readonly DependencyProperty MyBooleanValueProperty = DependencyProperty.Register(
        "MyBooleanValue", typeof(bool), typeof(MyTextBox),
        new PropertyMetadata(new PropertyChangedCallback(MyBooleanValueChanged)));
    public bool MyBooleanValue
    {
        get { return (bool)GetValue(MyBooleanValueProperty); }
        set { SetValue(MyBooleanValueProperty, value); }
    }

    private static void MyBooleanValueChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        var propValue = (bool)e.NewValue;
        var control = d as MyTextBox;

        // do something useful
    }

}
于 2012-07-13T15:10:43.587 に答える