WPF Control Arrays?
I've got a block of controls I am using multiple times on different tabs. I created a user control in XAML so that I could re-use this block. If I make a aesthetics change to it then it propagates through with ease. Now, I need to initialize the controls in the user control. That's easy enough. However, instead of doing this:
I would like to do something similar to this:
SegmentControl1.ComboBoxMode.ItemsSource = fc.CameraSettings.Modes;
SegmentControl1.ComboBoxMode.DisplayMemberPath = "Value";
SegmentControl1.ComboBoxMode.SelectedValuePath = "Key";
//1 to 10 ...
SegmentControl10.ComboBoxMode.ItemsSource = fc.CameraSettings.Modes;
SegmentControl10.ComboBoxMode.DisplayMemberPath = "Value";
SegmentControl10.ComboBoxMode.SelectedValuePath = "Key";
This would be much more efficient and result in code easier to read.
//Loop i from 1 to 10
SegmentControl[i].ComboBoxMode.ItemsSource = fc.CameraSettings.Modes;
SegmentControl[i].ComboBoxMode.DisplayMemberPath = "Value";
SegmentControl[i].ComboBoxMode.SelectedValuePath = "Key";
Re: WPF Control Arrays?
I would try to get away from initializing controls as much as possible in code behind and use data binding instead.
In addition rather than using a fixed number of controls in an array, I would use a custom list and bind the array to the list (in other words, each SegmentControl would be a list item).
The advantage of this approach is that you would end up with very little initialization code in the code behind.