我正在为我的应用程序中的一些TabControl创建一个特定的样式.
<TabControl Style="{StaticResource MyTabControl}">
</TabControl>
Run Code Online (Sandbox Code Playgroud)
我想在这个特定的TabControl样式的情况下也设置TabItem样式.
现在,我必须写:
<TabControl Style="{StaticResource MyTabControl}">
<TabItem Style="{StaticResource MyTabItem}" Header="First" />
<TabItem Style="{StaticResource MyTabItem}" Header="Second" />
</TabControl>
Run Code Online (Sandbox Code Playgroud)
而不必在每个TabItem上指定"MyTabItem"样式,有没有办法只在特定TabControl样式的范围内设置默认TabItem 样式?
我没有找到一种方法来指定我的TabControl样式,应该在所有子项TabItems上应用哪种样式.
考虑以下代码:
namespace MyApp
{
using System;
using System.Collections.ObjectModel;
class Program
{
static void Main(string[] args)
{
var col = new MyCollection();
col.Add(new MyItem { Enum = MyEnum.Second });
col.Add(new MyItem { Enum = MyEnum.First });
var item = col[0];
Console.WriteLine("1) Null ? {0}", item == null);
item = col[MyEnum.Second];
Console.WriteLine("2) Null ? {0}", item == null);
Console.ReadKey();
}
}
class MyItem { public MyEnum Enum { get; set; } }
class MyCollection : Collection<MyItem>
{
public MyItem this[MyEnum val]
{ …
Run Code Online (Sandbox Code Playgroud)