我在XAML文件中为TabItem
创建了一个Control资源。我正在动态地生成TabItem
,我想将该控制资源应用于每一个生成的TabItem
。如何在生成后使用c#代码将该控制资源应用于每一个其他TabItem
。
我所做的是在我的c#代码的类定义,我钩到"Loaded"事件。从那里,我试图找到风格的资源,并应用如果找到…就像
public class MyTabItem : TabItem
{
public MyTabItem()
{
Loaded += MyLoadedExtras;
}
private void MyLoadedExtras( object sender, EventArgs e )
{
object basis = TryFindResource("XKeyValueFromYourTabItemStyle");
if (basis != null)
Style = (Style)basis;
// disconnect from loaded event after our one time in
Loaded -= MyLoadedExtras;
}
}
所以,当你动态地添加一个"MyTabItem"的实例时,它会立即自己寻找可用的资源,并为你设置样式。