Hy,WPF TabItem Listbox dynamische Bindung
Ich möchte eine Farbeigenschaft auf dem Hintergrund einer Registerkarte Inhalt binden:
<CollectionViewSource x:Key="MyCollectionViewSource" Source="{Binding QuickDialColl, Source={x:Static vm:QuickDialViewModel.Instance}}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Category" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
Die QuickDialColl ist ein ObservableCollection von QuickDial Objekte:
class QuickDial
{
public string Name { get; set; }
public string ToolTip { get; set; }
public string Number { get; set; }
public string Category { get; set; }
public string CustomBackgroundColor { get; set; }
public string TextColor { get; set; }
public QuickDial()
{
}
}
<TabControl ItemsSource="{Binding Groups, Source={StaticResource MyCollectionViewSource}}" SelectedIndex="0" >
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<ListBox ItemsSource="{Binding Items}"
IsManipulationEnabled="False"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Name}"
Background="{Binding CustomBackgroundColor,Converter={StaticResource HexToColorConverter}}"
ToolTip="{Binding ToolTip}"
Width="130"
Margin="2,2,2,2"
/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Die dynamische Bindung für die Tasten mit ok ist:
Background="{Binding CustomBackgroundColor,Converter={StaticResource HexToColorConverter}}"
Aber ich wünsche es für den Hintergrund der Registerkarte Content arbeitet (wie alle Tasten der gleichen Kategorie das gleiche haben Hintergrundfarbe).
Ich habe versucht, die Wrappanel und die Listbox Bacground Eigenschaft mit dem gleichen Stück Code zu binden, aber es hat nicht funktioniert. Hier
ist das Ergebnis Ich mag würde bekommen:
ich sicher bin fehlt der Punkt ...
Vielen Dank für Sie Hilfe. Chris.