本文整理汇总了C#中System.Windows.FrameworkTemplate.SetResourceReferenceState方法的典型用法代码示例。如果您正苦于以下问题:C# FrameworkTemplate.SetResourceReferenceState方法的具体用法?C# FrameworkTemplate.SetResourceReferenceState怎么用?C# FrameworkTemplate.SetResourceReferenceState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.FrameworkTemplate
的用法示例。
在下文中一共展示了FrameworkTemplate.SetResourceReferenceState方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SealTemplate
//.........这里部分代码省略.........
Debug.Assert(frameworkTemplate != null);
//frameworkTemplate.ProcessTemplateBeforeSeal();
templateRoot.Seal(frameworkTemplate);
}
// Seal triggers
if (triggers != null)
{
triggers.Seal();
}
// Seal Resource Dictionary
if (resources != null)
{
resources.IsReadOnly = true;
}
// Build shared tables
if (templateRoot != null)
{
// This is a FEF-style template. Process the root node, and it will
// recurse through the rest of the FEF tree.
StyleHelper.ProcessTemplateContentFromFEF(
templateRoot,
ref childRecordFromChildIndex,
ref triggerSourceRecordFromChildIndex,
ref resourceDependents,
ref eventDependents,
ref dataTriggerRecordFromBinding,
childIndexFromChildID,
ref hasInstanceValues);
}
// Process Triggers. (Trigger PropertyValues are inserted
// last into the Style/Template GetValue chain because they
// are the highest priority)
bool hasHandler = false;
Debug.Assert( frameworkTemplate != null );
StyleHelper.ProcessTemplateTriggers(
triggers,
frameworkTemplate,
ref childRecordFromChildIndex,
ref triggerSourceRecordFromChildIndex, ref containerDependents, ref resourceDependents, ref eventDependents,
ref dataTriggerRecordFromBinding, childIndexFromChildID, ref hasInstanceValues,
ref triggerActions, templateRoot, ref eventHandlersStore,
ref frameworkTemplate.PropertyTriggersWithActions,
ref frameworkTemplate.DataTriggersWithActions,
ref hasHandler );
frameworkTemplate.HasLoadedChangeHandler = hasHandler;
frameworkTemplate.SetResourceReferenceState();
// All done, seal self and call it a day.
isSealed = true;
// Remove thread affinity so it can be accessed across threads
frameworkTemplate.DetachFromDispatcher();
// Check if the template has the Template property set on the container via its visual triggers.
// It is an error to specify the TemplateProperty in your own Template.
if (StyleHelper.IsSetOnContainer(Control.TemplateProperty, ref containerDependents, true) ||
StyleHelper.IsSetOnContainer(ContentPresenter.TemplateProperty, ref containerDependents, true))
{
throw new InvalidOperationException(SR.Get(SRID.CannotHavePropertyInTemplate, Control.TemplateProperty.Name));
}
// Check if the template has the Style property set on the container via its visual triggers.
// It is an error to specify the StyleProperty in your own Template.
if (StyleHelper.IsSetOnContainer(FrameworkElement.StyleProperty, ref containerDependents, true))
{
throw new InvalidOperationException(SR.Get(SRID.CannotHavePropertyInTemplate, FrameworkElement.StyleProperty.Name));
}
// Check if the template has the DefaultStyleKey property set on the container via its visual triggers.
// It is an error to specify the DefaultStyleKeyProperty in your own Template.
if (StyleHelper.IsSetOnContainer(FrameworkElement.DefaultStyleKeyProperty, ref containerDependents, true))
{
throw new InvalidOperationException(SR.Get(SRID.CannotHavePropertyInTemplate, FrameworkElement.DefaultStyleKeyProperty.Name));
}
// Check if the template has the OverridesDefaultStyle property set on the container via its visual triggers.
// It is an error to specify the OverridesDefaultStyleProperty in your own Template.
if (StyleHelper.IsSetOnContainer(FrameworkElement.OverridesDefaultStyleProperty, ref containerDependents, true))
{
throw new InvalidOperationException(SR.Get(SRID.CannotHavePropertyInTemplate, FrameworkElement.OverridesDefaultStyleProperty.Name));
}
// Check if the template has the Name property set on the container via its visual triggers.
// It is an error to specify the Name in your own Template.
if (StyleHelper.IsSetOnContainer(FrameworkElement.NameProperty, ref containerDependents, true))
{
throw new InvalidOperationException(SR.Get(SRID.CannotHavePropertyInTemplate, FrameworkElement.NameProperty.Name));
}
}