InnerCaptionというプロパティを公開するWPFユーザーコントロールを作成したいとします。コードはWPFバインドの問題
以下のXAMLコード
<UserControl x:Class="myControl.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<TextBlock Name="_innerCaption" > Hello</TextBlock>
</Grid>
</UserControl>
namespace myControl
{
/// <summary>
/// Interaction logic for UserControl1.xaml
/// </summary>
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
public TextBlock InnerCaption
{
get { return (TextBlock)this.GetValue(InnerCaptionProperty); }
set { this.SetValue(InnerCaptionProperty, value); }
}
public static readonly DependencyProperty InnerCaptionProperty = DependencyProperty.Register(
"InnerCaption", typeof(TextBlock), typeof(UserControl1),new PropertyMetadata(false));
}
}
の背後にあるCSコード質問があるある:私は、ユーザーが設計時にInnerCaptionをカスタマイズできるようにしたいですその色、フォントスタイルを変更するなど...しかし、私は束縛のいくつかの種類を使用しようとしました。しかし、それは無駄です。私が知っているように、Bindingはプロパティへのバインドのみをサポートしています。 私に方法を教えてくださいpls! :(
私はINotifyPropertyChangedインターフェイスを1分で追加します...ちょうど仕事に着いたので、いくつかのものを整理する必要があります。 – Christian
これは、INotifyPropertyChanged -patternを実装した適切なモデルで単純なバインディングを使用する方法の優れた例ですが、要求されたようにキャプションのスタイルをバインドできる方法の問題を解決しません。スタイル " – Almund
あなたは、テキストキャプションのようにfore/backgroundのカラープロパティをバインドできます。 "MyClassToBind"クラスを使用すると、コントロールの任意のプロパティをバインドできます。それとも、私はその質問を誤解しましたか? – Christian