私のUserControlには、TextBoxとButtonが含まれています。TextBoxのテキストは、Xと呼ばれる依存関係プロパティによって正しく入力されます。
私の目標: ボタンを押したときにXの値(テキストボックスのテキストなど)を変更します。
UserControlを次のように定義しました。
<StackPanel Orientation="Horizontal" >
<TextBox Name="Xbox" Text="{Binding Path=X}" Width="50"/>
<Button Content="Current" Click="InsertCurrentBtnClick" />
</StackPanel>
コードビハインドあり:
public double X
{
get { return (double)GetValue(XProperty); }
set { SetValue(XProperty, value); }
}
public static readonly DependencyProperty XProperty =
DependencyProperty.Register("X", typeof(double), typeof(MyUserControl), new PropertyMetadata(0.0));
private void InsertCurrentBtnClick(object sender, RoutedEventArgs e)
{
X = 0.7;
//BindingOperations.GetBindingExpression(this, XProperty).UpdateTarget();
//BindingOperations.GetBindingExpression(Xbox, TextBox.TextProperty).UpdateTarget();
//BindingOperations.GetBindingExpression(Xbox, XProperty).UpdateTarget();
//Xbox.GetBindingExpression(TextBox.TextProperty).UpdateTarget();
//GetBindingExpression(XProperty).UpdateTarget();
}
X=0.7;
TextBoxテキストを強制的に更新するためにいくつかのことを一度に1つずつ試しましたが(以下を参照)、これまでのところ何も役に立ちませんでした。
前もって感謝します。