I am trying to dynamically generate the OutlookBarGroups by binding the GroupsSource to a ObservableCollection<IModule> (Composite Application Library). I need to create a bar group per module. A Module has a name and images which I am trying to use as the group's name and images. I also need to generat the bar goupr's content dynamically based on the modules presentation view. Nothing seems to work, I was trying to do templating on the OutlookBar.Template, it didn't work either.
I am sorry, this is 3 years old and we changed to a competitors product, so i can't realy help you with that. Did you search your way through the visual tree with snoop or something like that? That helped me a lot when investigating exotic problems because of unexpected implementations of controls (especially with headered itemscontrols). Besides that i don't know how to help you since i don't have that library handy to test.
Hope you find your problem soon!
Regards, kidrocker
hi kidrocker,
would you share your solution?
Header works for me, but I have problems with the content. Maybe my template or something is wrong...
<igOutlookBar:XamOutlookBar Grid.Row="1" Grid.Column="0" Theme="IGTheme" Width="200" GroupsSource="{Binding Items}" AllowMinimized="True"><igOutlookBar:XamOutlookBar.Resources><Style TargetType="{x:Type igOutlookBar:OutlookBarGroup}"><Setter Property="Header" Value="{Binding DisplayName}"/><Setter Property="Content" Value="{Binding}"/><Setter Property="ContentTemplate"><Setter.Value><DataTemplate><ContentControl cal:View.Model="{Binding Menu}" /></DataTemplate></Setter.Value></Setter> </Style> </igOutlookBar:XamOutlookBar.Resources> </igOutlookBar:XamOutlookBar>
This isn't working correctly when navigation is minimized.
hi,
I also do something very similar (CAL and Outlookbar). I could sucessfully bind the outlookbar groups to a ViewModel (MVVM) representing module dependent task-items. But I have problems with changing the content of each group dynamically. I so something like:
void OnSelectedGroupChanged()
{
_selectedGroup.Context = MyView1; .. here the actual view object is determined by some logic
}
this code works when changing the selected group.
But if I want to change the content of the group when some other global event occurs, I also do something like:
_selectedGroup.Context =xxView.
In this case I can see in the debugger that the content object of the group has correctly changed, but in the UI the previous view is still displayed ?!
Do you have any ideas ?
blank_page
if you are binding to an observable collection<IModule>, to which Properties are you binding? IModule does not have any Properties. How does your Template look like? Are you binding by setting the dataContext of the outlookBar to whatever holds your ObservableCollection?
More information helps to pin down the problem. I did something very similar (with CAL and OutlookBar) and it works (even if i had problems but that where my fault not infragistics').
kidrocker