如何使用代码在Control上应用Control资源

时间:2013-04-03 16:31:24

标签: c# wpf xaml tabs tabitem

我在XAML文件中为TabItem创建了一个Control资源。我动态生成TabItem,我想将控制资源应用于生成的每个TabItem。如何尽快使用c#代码将该控制资源应用于其他每个TabItem因为它们是生成的。

1 个答案:

答案 0 :(得分:-1)

我所做的是在我的C#Code类定义中,我迷上了“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”的实例时,它会立即查找可用资源并为您设置样式。