私のプロジェクトでは、テキストブロックとテキストボックスを組み合わせたユーザー コントロールを使用したいと考えています。次のようなユーザーコントロールのカスタムプロパティを作成できます
public string Caption
{
get
{
return this.Block.Text;
}
set
{
this.Block.Text = value;
}
}
public string Value
{
get
{
return this.Box.Text;
}
set
{
this.Box.Text = value;
}
}
このユーザーコントロールでテキストブロックのバインディングも設定したいと思います。以下のように依存関係プロパティを使用する必要があることはわかっています。
public string fieldValue
{
get
{
return (string)GetValue(fieldValueProperty);
}
set
{
SetValue(fieldValueProperty, value);
}
}
public static readonly DependencyProperty fieldValueProperty =
DependencyProperty.Register("fieldValue", typeof(string), typeof(TextBlox),
new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));
私の実際のアプリケーションでは:
<my:TxtBlox HorizontalAlignment="Left" Name="txtBlox1"
fieldValue="{Binding Path=ProdCode,Mode=TwoWay}"
VerticalAlignment="Top" Width="228" />
このコントロールのコンテナーのデータ コンテキストをデータベース オブジェクトに設定しています。
oProd = dt.ProdInfoes.First();
Main.DataContext = oProd;
しかし、私はそれを機能させることができません。助言がありますか?