Beste allemaal,
Ik gebruik WinForms en heb een usercontrol met 2 properties, waarvan 1 een struct is:
De struct:
Nu wil ik een Form openen waarop de Properties van de usercontrol aangepast moeten worden. Hiervoor wil ik Databinding gebruiken.
DataBinding ziet er alsvolgt uit:
Op het Form krijgt TxtbxMACAddress wel de waarde van MAC_Address, maar TxtbxChannelNumber en ChckbxMaster niet de waardes van de members van Product_Number. Ook verandert Product_Number niet als ik wat op het Form verander. Vergeet ik iets of moet dit op een andere manier?
Bedankt!
Ik gebruik WinForms en heb een usercontrol met 2 properties, waarvan 1 een struct is:
Code:
public UInt32 MAC_Address
{
get
{
return _MAC_Address;
}
set
{
_MAC_Address= value;
}
}
public Product_Number_Contents Product_Number
{
get
{
return _Product_Number;
}
set
{
_Product_Number = value;
}
}
De struct:
Code:
public struct Product_Number_Contents
{
private Byte _Channel_Number;
private Boolean _Master;
public Byte Channel_Number
{
get
{
return _Channel_Number;
}
set
{
_Channel_Number = value;
}
}
public Boolean Master
{
get
{
return _Master;
}
set
{
_Master = value;
}
}
}
Nu wil ik een Form openen waarop de Properties van de usercontrol aangepast moeten worden. Hiervoor wil ik Databinding gebruiken.
Code:
public FormUC(UC ThisUC)
{
InitializeComponent();
DataBinding(ThisUC);
}
DataBinding ziet er alsvolgt uit:
Code:
private void DataBinding(UC ThisUC)
{
this.DataBindings.DefaultDataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
BndSrcUC = new BindingSource();
BndSrcUC .DataSource = typeof(UC);
BndSrcUC .Add(ThisUC);
BndSrcProduct = new BindingSource();
BndSrcProduct .DataSource = typeof(UC.Product_Number_Contents);
BndSrcProduct .Add(ThisUC.Product_Number);
TxtbxMACAddress.DataBindings.Add("Text", BndSrcUC , "MAC_Address", true, DataSourceUpdateMode.OnPropertyChanged);
TxtbxChannelNumber.DataBindings.Add("Text", BndSrcProduct, "Channel_Number", true, DataSourceUpdateMode.OnPropertyChanged);
ChckbxMaster.DataBindings.Add("Checked", BndSrcProduct, "Master", true, DataSourceUpdateMode.OnPropertyChanged);
Op het Form krijgt TxtbxMACAddress wel de waarde van MAC_Address, maar TxtbxChannelNumber en ChckbxMaster niet de waardes van de members van Product_Number. Ook verandert Product_Number niet als ik wat op het Form verander. Vergeet ik iets of moet dit op een andere manier?
Bedankt!