0

TabItem在 XAML 文件中为 a 创建了一个控制资源。我是TabItem动态生成的,我想将该控制资源应用于生成的每一个。如何在生成后立即使用 c# 代码TabItem将该控制资源应用于其他所有资源。TabItem

4

1 回答 1

-1

我所做的是在我的类定义的 C# 代码中,我挂钩到“加载”事件。从中,我尝试找到样式的资源并在找到时应用......类似

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”的实例时,它会立即自行查找可用资源并为您设置样式。

于 2013-04-03T16:41:24.300 回答