1
数値のアップダウンと配列要素の間にデータバインディングを作成しようとしています。私のフォームでは、以下に示すバインディングを作成しようとしましたが、動作しないようです。どんな助けもありがとう。特定のインデックスで配列の要素にコントロールをバインドするデータをWinforms
バインディング:
nudTest.DataBindings.Add("Value", eac.ESettings.HsvArray[0], "", false,DataSourceUpdateMode.OnPropertyChanged);
アレイ:
public class ESettings : INotifyPropertyChanged
{
private int[] hsvArray = new int[6];
public event PropertyChangedEventHandler PropertyChanged;
[XmlIgnore]
public bool PrgVarIsDirty
{
get { return prgVarIsDirty; }
set
{
prgVarIsDirty = value;
OnPropertyChanged("PrgVarIsDirty");
}
}
public int[] HsvArray
{
get { return hsvArray; }
set
{
if (value != hsvArray)
{
prgVarIsDirty = true;
hsvArray = value;
OnPropertyChanged("HsvArray");
}
}
}
// Create the OnPropertyChanged method to raise the event
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}
WinFormsはこのようなデータバインディングをサポートしていません –
これを行う方法とは別の方法がありますか? – JSoothe
コントロールを要素の要素に直接バインドするのではなく、要素に直接バインドする場合は、コントロールを配列にバインドし、CurrencyManagerの位置を配列の要素のインデックスに設定します。 –