W jaki sposób dostać się do właściwości z listy ModulesList ?
Kod Xaml
<ItemsControl ItemsSource="{Binding ElementName=hUserControl, Path=ModuleCollection.ModulesList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<UC:ImageButton ImageType="{Binding Path=ModuleInfo.Icon}" Text="{Binding}" Foreground="White"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
Właściwość:
private IList<ModuleElement> modulesList;
public IList<ModuleElement> ModulesList
{
get
{
return modulesList;
}
private set
{
modulesList = value;
OnPropertyChanged("ModulesList");
}
}
Element:
public class ModuleElement : NotifyPropertyChanged, INotifyPropertyChanged
{
public ModuleElement(eModule Module)
{
ModuleInfo = new ModuleProperty(Module);
SelectorInfo = new ModuleInSelectorProperty(Module);
ViewerInfo = new ModuleInViewerProperty(Module);
ModuleInfo.ModuleSelectionChanged += ModuleInfo_ModuleSelectionChanged;
}
private ModuleProperty moduleInfo;
/// <summary>
/// Informacje o module
/// </summary>
public ModuleProperty ModuleInfo
{
get
{
return moduleInfo;
}
private set
{
moduleInfo = value;
OnPropertyChanged("ModuleInfo");
}
}
private ModuleInSelectorProperty selectorInfo;
/// <summary>
/// Informacje dla selektora
/// </summary>
public ModuleInSelectorProperty SelectorInfo
{
get
{
return selectorInfo;
}
private set
{
selectorInfo = value;
OnPropertyChanged("SelectorInfo");
}
}
private ModuleInViewerProperty viewerInfo;
/// <summary>
/// Informacje dla viewera
/// </summary>
public ModuleInViewerProperty ViewerInfo
{
get
{
return viewerInfo;
}
private set
{
viewerInfo = value;
OnPropertyChanged("ViewerInfo");
}
}