Xamlとバインディングの概念が新しくなりました。 MainClassの 'CustomerName'プロパティをXAMLのテキストコンテンツ 'TextBox1'にバインドする方法は?ここでテキストボックステキストを他のクラスプロパティとバインドする方法は?
、
namespace TextBinding.Module
{
public class MainClass
{
public string CustomerName { get; set; }
}
}
私MainClassですそして、私のXAMLコーディングがあり、
<UserControl x:Class="TextBinding.Design.ControlDesigner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:TestControl="clr-namespace:TextBinding.Module"
mc:Ignorable="d" d:DesignHeight="1000" d:DesignWidth="1000">
<TestControl:MainClass x:Key="Test1" />
<Grid>
<TextBox x:Name="TextBox1" Height="50" Text="{Binding Test1.CustomerName, Mode=TwoWay}" />
</Grid>
</UserControl>
これ以上の方法は、全く機能していません。誰かがバインドするより良い方法を提案することができますか?前もって感謝します。
はhttps://msdn.microsoft.com/en参照-us/library/system.componentmodel.inotifypropertychanged(v = vs.110).aspx –
_ "全く動作していません" _ Stack Overflowの質問には、それよりも正確な問題文が含まれていることが予想されます。つまり、投稿したコードはまったく有効ではないようです。それがうまくいくと思った理由は困惑しています。そのドキュメントを読んでそこのいくつかの例に従ってください。それがあなたの誤解を解決しない場合は、Web上のさまざまなチュートリアルやStack Overflowに関するデータバインディングに関する質問を見てください。質問を投稿する前に[mcve]と[ask]をお読みください。 –
これまでのところ、 'MainClass'オブジェクトは' UserControl'の子であってはならず、リソースでもありません。それは 'UserControl'なので、' UserControl'自体の 'DataContext'を避けたいのですが、例えば' DataContext'にすることができます。あなたの 'UserControl'に' Grid'があります。次に、 'Test1.CustomerName'の代わりに' CustomerName'にバインドすることができます。 –