テキストボックスとコンボボックスを使用してwpfユーザーコントロールを作成しました。私は確信していますwpfユーザーコントロール内のコントロールのプロパティにアクセスする際のエラー
<textboxunitconvertor:TextBoxUnitConvertor Name="wDValueControl" TextBoxText="{Binding _FlClass.SWa_SC.Value , RelativeSource={RelativeSource AncestorType=Window}, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="161" Height="28" HorizontalAlignment="Left" VerticalAlignment="Top"/>
: は、テキストボックスのテキストプロパティにアクセスするために私がコントロールを使用し、以下のようにテキストを結合している別のプロジェクトに以下のコード
public static readonly DependencyProperty TextBoxTextP = DependencyProperty.Register(
"TextBoxText", typeof(string), typeof(TextBoxUnitConvertor));
public string TextBoxText
{
get { return txtValue.Text; }
set { txtValue.Text = value; }
}
を使用していましたバインドに使用されているクラスは正常に動作しています。なぜなら、私は自分のプロジェクトで直接テキストボックスを使ってビンするのですが、正しく動作しますが、usercontrolのtextboxのtextプロパティにバインドするとnullが返され、バインディングは機能しません。誰でも助けてくれますか?
おかげでたくさんの値に
TextBoxText
で次に:このコードを使用します。別の質問。作成されたプロパティ "TextBoxText"を以下のような別のプロパティにバインドする必要がある場合、どうすればいいのですか。プライベートdouble _CurrentValue; [ブラウズ可能(false)] public double CurrentValue { get { return _CurrentValue; } セット{_CurrentValue =値; } } – ali
編集された答えに示すようにPropertyChangedCallbackを登録します。 – Clemens
非常に良いです。しかし、もし2つの方法バインドineed、どのようにすることができますか?ユーザーコントロールのテキストボックスのテキストをユーザーが変更した場合、メインプロジェクトのバインドされたクラスが変更されたことを意味しますか? – ali