如何使用代码将控件资源应用于控件

本文关键字:控件 资源 应用于 何使用 代码 | 更新日期: 2023-09-27 18:07:20

我在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"的实例时,它会立即自己寻找可用的资源,并为你设置样式。