WPFアプリケーション内の特定のコントロールにバインドしたい変数の不明なリストがあります。リストから特定の名前で変数をバインドする方法はありますか?
これが私がやろうとしていることのコード例です。
C#
public class Variable {
public string Name {get;set;}
}
public class VariableViewModel : INotifyPropertyChanged {
Variable _variable;
public Variable Variable {
get {
return(_variable);
}
set {
_variable = value;
if(PropertyChanged != null) {
PropertyChanged(this, new PropertyChangedEventArgs("Variable"));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
public class VariableListViewModel {
public ObservableCollection<VariableViewModel> VariableList { get; set; }
public VariableListViewModel() {
VariableList = new ObservableCollection<VariableViewModel>();
var variableViewModel = new VariableViewModel {
Variable = new Variable { Name = "my_variable_name" }
};
VariableList.Add(variableViewModel);
}
}
WPF:
<Window>
<Window.DataContext>
<local:VariableListViewModel />
</Window.DataContext>
<StackPanel>
<Label Content="{Binding Path=Name, ElementName=my_variable_name}" />
</StackPanel>
</Window>
ここではラベルが明らかに間違っています。私の質問は、私が達成しようとしていることが可能かどうかです。'my_variable_name'を表示できるようにしたい。
-スチュアート