私はTextという文字列プロパティを含むクラスを持っています。MVVMのUserControlにクラスプロパティをバインドする
public class Time
{
private string _text;
public string Text
{
get { return _text; }
set { _text = value; }
}
}
このクラスを含むカスタムのUserControlもあります。私のViewModelから
public partial class MyUserControl : UserControl, INotifyPropertyChanged
{
<...>
private Time _myTime;
public Time MyTime
{
get { return _myTime; }
set { _myTime= value; NotifyPropertyChanged(); }
}
}
、私は上記のユーザーコントロールを作成してタイムクラスを割り当てると、そのすべてのプロパティ:
void SomeMethod()
{
Time TestTime = new Time();
TestTime.Text = "Hello world";
MyUserControl control = new MyUserControl();
control.MyTime = TestTime;
controlViewer = new System.Collections.ObjectModel.ObservableCollection<Control>();
controlViewer.Add(control);
// on my main window, I have an ItemsControl with
// ItemsSource="{Binding controlViewer}".
}
ユーザーコントロールのためのXAMLは、このテキストボックスが含まれています
<TextBox Text="{Binding MyTime.Text}"/>
私は、program.MyTime.Textプロパティをプログラムで呼び出すことができ、 "Hello world"値を取得することはできますが、新しく作成したMyUserControl テキストボックス。
- ありがとう! – Fish