C# 无法在silverlight中更改所选选项卡项的背面颜色
我有一个带有C# 无法在silverlight中更改所选选项卡项的背面颜色,c#,silverlight,xaml,tabcontrol,tabitem,C#,Silverlight,Xaml,Tabcontrol,Tabitem,我有一个带有TabItem的TabControl。我想更改所选选项卡的tabitem标题的背景色 因此,我将XAML代码设置如下 <sdk:TabControl Background="WhiteSmoke" Foreground="Black" SelectionChanged="TabControl_SelectionChanged"> <sdk:TabItem Name="adminTab" BorderBrush="Black">
TabItem
的TabControl
。我想更改所选选项卡的tabitem
标题的背景色
因此,我将XAML
代码设置如下
<sdk:TabControl Background="WhiteSmoke" Foreground="Black"
SelectionChanged="TabControl_SelectionChanged">
<sdk:TabItem Name="adminTab" BorderBrush="Black">
<sdk:TabItem.Header>
<StackPanel Name="adminsp" Background="#C7CEF7">
<Image Name="ico1" Source="Images/admin.png"/>
<TextBlock Text="Admin"/>
</StackPanel>
</sdk:TabItem.Header>
</sdk:TabItem>
<sdk:TabItem Name="userTab" BorderBrush="Black">
<sdk:TabItem.Header>
<StackPanel Name="usersp" Background="#C7CEF7">
<Image Name="ico1" Source="Images/user.png"/>
<TextBlock Text="User"/>
</StackPanel>
</sdk:TabItem.Header>
</sdk:TabItem>
但是背景颜色没有改变,任何帮助都将不胜感激 如果你想直接做,你应该这样做,否则你应该编辑TabControl的样式
TabControl currentTab = (TabControl)sender;
TabItem selectedItem = currentTab.SelectedItem as TabItem;
if (selectedItem != null)
{
foreach (TabItem currentItem in currentTab.Items)
{
if (currentItem == selectedItem)
{
selectedItem.BorderBrush = new SolidColorBrush() { Color = Colors.Green };
selectedItem.Background = new SolidColorBrush() { Color = Colors.LightGray };
}
else
{
currentItem.BorderBrush = new SolidColorBrush() { Color = Colors.Blue };
currentItem.Background = new SolidColorBrush() { Color = Colors.Gray };
}
}
}
TabControl currentTab = (TabControl)sender;
TabItem selectedItem = currentTab.SelectedItem as TabItem;
if (selectedItem != null)
{
foreach (TabItem currentItem in currentTab.Items)
{
if (currentItem == selectedItem)
{
selectedItem.BorderBrush = new SolidColorBrush() { Color = Colors.Green };
selectedItem.Background = new SolidColorBrush() { Color = Colors.LightGray };
}
else
{
currentItem.BorderBrush = new SolidColorBrush() { Color = Colors.Blue };
currentItem.Background = new SolidColorBrush() { Color = Colors.Gray };
}
}
}