当前位置: 首页>>代码示例>>C#>>正文


C# DataTemplate.Seal方法代码示例

本文整理汇总了C#中System.Windows.DataTemplate.Seal方法的典型用法代码示例。如果您正苦于以下问题:C# DataTemplate.Seal方法的具体用法?C# DataTemplate.Seal怎么用?C# DataTemplate.Seal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Windows.DataTemplate的用法示例。


在下文中一共展示了DataTemplate.Seal方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SelectTemplate

 /// <summary>
 /// Override this method to return an app specific <seealso cref="DataTemplate"/>.
 /// </summary>
 /// <param name="item">The data content</param>
 /// <param name="container">The container in which the content is to be displayed</param>
 /// <returns>a app specific template to apply.</returns>
 public override DataTemplate SelectTemplate(object item, DependencyObject container)
 {
     if (SystemXmlHelper.IsXmlNode(item))
     {
         if (_xmlNodeContentTemplate == null)
         {
             _xmlNodeContentTemplate = new DataTemplate();
             FrameworkElementFactory text = ContentPresenter.CreateTextBlockFactory();
             Binding binding = new Binding();
             binding.XPath = _displayMemberPath;
             binding.StringFormat = _stringFormat;
             text.SetBinding(TextBlock.TextProperty, binding);
             _xmlNodeContentTemplate.VisualTree = text;
             _xmlNodeContentTemplate.Seal();
         }
         return _xmlNodeContentTemplate;
     }
     else
     {
         if (_clrNodeContentTemplate == null)
         {
             _clrNodeContentTemplate = new DataTemplate();
             FrameworkElementFactory text = ContentPresenter.CreateTextBlockFactory();
             Binding binding = new Binding();
             binding.Path = new PropertyPath(_displayMemberPath);
             binding.StringFormat = _stringFormat;
             text.SetBinding(TextBlock.TextProperty, binding);
             _clrNodeContentTemplate.VisualTree = text;
             _clrNodeContentTemplate.Seal();
         }
         return _clrNodeContentTemplate;
     }
 }
开发者ID:nlh774,项目名称:DotNetReferenceSource,代码行数:39,代码来源:DisplayMemberTemplateSelector.cs

示例2: AddDataTemplate

 private void AddDataTemplate(Type viewType, Type viewModelType)
 {
     var dataTemplate = new DataTemplate(viewModelType);
     dataTemplate.VisualTree = new FrameworkElementFactory(viewType);
     dataTemplate.Seal();
     App.Current.Resources.Add(new DataTemplateKey(viewModelType), dataTemplate);
 }
开发者ID:NicolasDorier,项目名称:GestSpace,代码行数:7,代码来源:App.xaml.cs

示例3: ModelItemTemplateSelector

 /// <summary>
 /// Initializes the <see cref="TypeBasedDataTemplateSelector"/> class.
 /// </summary>
 static ModelItemTemplateSelector()
 {
     DefaultDataTemplate = new DataTemplate();
     var factory = new FrameworkElementFactory(typeof(TextBlock));
     var propertyPath = new Binding() { StringFormat = "Cannot find template for type {0}.  Optionally set the DataTemplate's x:Key property is set with the full name of this type." };
     factory.SetBinding(TextBlock.TextProperty, propertyPath);
     factory.SetValue(TextBlock.TextWrappingProperty, TextWrapping.Wrap);
     factory.SetValue(TextBlock.ForegroundProperty, Brushes.Red);
     DefaultDataTemplate.VisualTree = factory;
     DefaultDataTemplate.Seal();
 }
开发者ID:kylejwolff,项目名称:TestProjects,代码行数:14,代码来源:ModelItemTemplateSelector.cs

示例4: TransitionElement

        /// <summary>
        /// Initializes the static version of <see cref="TransitionElement"/>.
        /// </summary>
        static TransitionElement()
        {
            // TraceSwitches.Transitions.Level = TraceLevel.Verbose;

            defaultNullContentTemplate = new DataTemplate();
            FrameworkElementFactory rectangle = new FrameworkElementFactory(typeof(Rectangle));
            rectangle.SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Stretch);
            rectangle.SetValue(FrameworkElement.VerticalAlignmentProperty, VerticalAlignment.Stretch);
            rectangle.SetValue(Shape.FillProperty, SystemColors.WindowBrush /*new TemplateBindingExtension(Control.ForegroundProperty)?*/);
            defaultNullContentTemplate.VisualTree = rectangle;
            defaultNullContentTemplate.Seal();

            NullContentTemplateProperty.OverrideMetadata(typeof(TransitionElement), new FrameworkPropertyMetadata(defaultNullContentTemplate));

            ClipToBoundsProperty.OverrideMetadata(typeof(TransitionElement), new FrameworkPropertyMetadata(null, CoerceClipToBounds));
        }
开发者ID:bradsjm,项目名称:LaJustPowerMeter,代码行数:19,代码来源:TransitionElement.cs

示例5: InitializeStringContentTemplate

        private static void InitializeStringContentTemplate()
        {
            DataTemplate template;
            FrameworkElementFactory text;

            // Default template for strings
            template = new DataTemplate();
            text = new FrameworkElementFactory(typeof(TextBlock));
            text.SetValue(TextBlock.TextProperty, new TemplateBindingExtension(ContentPresenter.ContentProperty));
            template.VisualTree = text;
            template.Seal();
            s_StringTemplate = template;
        }
开发者ID:kasicass,项目名称:kasicass,代码行数:13,代码来源:RibbonComboBox.cs

示例6: OnViewTemplateChanged

 protected override void OnViewTemplateChanged(DataTemplate oldValue, DataTemplate newValue) {
     base.OnViewTemplateChanged(oldValue, newValue);
     if(newValue != null)
         newValue.Seal();
 }
开发者ID:ruisebastiao,项目名称:DevExpress.Mvvm.Free,代码行数:5,代码来源:SplashScreenService.cs

示例7: CreateDefaultSpacerTemplate

 private static DataTemplate CreateDefaultSpacerTemplate()
 {
     FrameworkElementFactory feFactory = new FrameworkElementFactory(typeof(VerticalConnector));
     DataTemplate dt = new DataTemplate() { VisualTree = feFactory };
     dt.Seal();
     return dt;
 }
开发者ID:uQr,项目名称:referencesource,代码行数:7,代码来源:WorkflowItemPresenter.cs

示例8: BuildDefaultTemplates

    private static void BuildDefaultTemplates()
    {
      //Defining the FrameworkElementFactory variables I will use below.
      FrameworkElementFactory hglip;
      FrameworkElementFactory glip;
      FrameworkElementFactory border;
      FrameworkElementFactory contentPresenter;

      //Defining the Converters, Bindings and ViewBindings I will use to build the templates below.
      Converters.ThicknessConverter thicknessConverter = new Xceed.Wpf.DataGrid.Converters.ThicknessConverter();

      ViewBindingExtension borderThicknessBinding = new ViewBindingExtension( "HorizontalGridLineThickness" );
      borderThicknessBinding.Converter = thicknessConverter;
      borderThicknessBinding.ConverterParameter = Converters.ThicknessConverter.ThicknessSides.Top;

      //ViewBindingExtension borderBrushBinding = new ViewBindingExtension( "HorizontalGridLineBrush" );

      Binding detailTitleBinding = new Binding();
      detailTitleBinding.Path = new PropertyPath( "(0).SourceDetailConfiguration.Title", DataGridControl.DataGridContextProperty );
      detailTitleBinding.RelativeSource = new RelativeSource( RelativeSourceMode.Self );

      Binding detailTitleTemplateBinding = new Binding();
      detailTitleTemplateBinding.Path = new PropertyPath( "(0).SourceDetailConfiguration.TitleTemplate", DataGridControl.DataGridContextProperty );
      detailTitleTemplateBinding.RelativeSource = new RelativeSource( RelativeSourceMode.Self );

      //Defining the Header Spacer template.
      DefaultHeaderSpacerTemplate = new DataTemplate();
      DefaultHeaderSpacerTemplate.VisualTree = new FrameworkElementFactory( typeof( DockPanel ) );
      DefaultHeaderSpacerTemplate.VisualTree.SetValue( RowSelector.VisibleProperty, false );

      hglip = new FrameworkElementFactory( typeof( HierarchicalGroupLevelIndicatorPane ) );
      hglip.SetValue( DockPanel.DockProperty, Dock.Left );
      hglip.SetValue( TableView.CanScrollHorizontallyProperty, false );
      DefaultHeaderSpacerTemplate.VisualTree.AppendChild( hglip );

      glip = new FrameworkElementFactory( typeof( GroupLevelIndicatorPane ) );
      glip.SetValue( GroupLevelIndicatorPane.IndentedProperty, false );
      glip.SetValue( DockPanel.DockProperty, Dock.Left );
      glip.SetValue( GroupLevelIndicatorPane.ShowIndicatorsProperty, false );
      glip.SetValue( GroupLevelIndicatorPane.ShowVerticalBorderProperty, false );
      glip.SetValue( GroupLevelIndicatorPane.GroupLevelProperty, 0 );
      glip.SetValue( TableView.CanScrollHorizontallyProperty, false );
      DefaultHeaderSpacerTemplate.VisualTree.AppendChild( glip );

      border = new FrameworkElementFactory( typeof( Border ) );
      border.SetBinding( Border.BorderThicknessProperty, ( BindingBase )borderThicknessBinding.ProvideValue( null ) );
      //border.SetBinding( Border.BorderBrushProperty, ( BindingBase )borderBrushBinding.ProvideValue( null ) );
      border.SetValue( Border.MinHeightProperty, 5d );
      border.SetValue( TableView.CanScrollHorizontallyProperty, false );

      contentPresenter = new FrameworkElementFactory( typeof( ContentPresenter ) );
      contentPresenter.SetBinding( ContentPresenter.ContentProperty, detailTitleBinding );
      contentPresenter.SetBinding( ContentPresenter.ContentTemplateProperty, detailTitleTemplateBinding );
      contentPresenter.SetValue( Control.FontSizeProperty, 14d );

      border.AppendChild( contentPresenter );

      DefaultHeaderSpacerTemplate.VisualTree.AppendChild( border );
      DefaultHeaderSpacerTemplate.Seal();

      //Defining the ColumnManagerRow template
      DefaultColumnManagerRowTemplate = new DataTemplate();
      DefaultColumnManagerRowTemplate.VisualTree = new FrameworkElementFactory( typeof( ColumnManagerRow ) );
      //DefaultColumnManagerRowTemplate.VisualTree.SetValue( ColumnManagerRow.BackgroundProperty, null );
      DefaultColumnManagerRowTemplate.Seal();

      DefaultGroupByControlTemplate = new DataTemplate();
      DefaultGroupByControlTemplate.VisualTree = new FrameworkElementFactory( typeof( HierarchicalGroupByControl ) );
      DefaultGroupByControlTemplate.Seal();
    }
开发者ID:wangws556,项目名称:duoduo-chat,代码行数:70,代码来源:DetailConfiguration.cs

示例9: ValueLineConfigurator

        static ValueLineConfigurator()
        {
            ComboEnumDescriptionTemplate = new DataTemplate
            {
                VisualTree = new FrameworkElementFactory(typeof(TextBlock))
                        .Do(f => f.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Right))
                        .Do(f => f.SetBinding(TextBlock.TextProperty, new Binding() { Mode = BindingMode.OneTime, Converter =  Converters.EnumDescription }))
            };

            ComboEnumDescriptionTemplate.Seal();
        }
开发者ID:rondoo,项目名称:framework,代码行数:11,代码来源:ValueLine.xaml.cs

示例10: ContentPresenter

        static ContentPresenter()
        {
            ContentPresenter.ContentTemplateProperty = ContentControl.ContentTemplateProperty.AddOwner(typeof(ContentPresenter), new PropertyMetadata(new ContentPresenter.DefaultTemplate(), new PropertyChangedCallback(ContentPresenter.OnContentTemplateChanged)));
            ContentPresenter.RecognizesAccessKeyProperty = DependencyProperty.Register("RecognizesAccessKey", typeof(bool), typeof(ContentPresenter), new PropertyMetadata(BooleanBoxes.FalseBox));
            ContentPresenter.ContentProperty = ContentControl.ContentProperty.AddOwner(typeof(ContentPresenter), new PropertyMetadata(null, new PropertyChangedCallback(ContentPresenter.OnContentChanged)));
            ContentPresenter.ContentTemplateSelectorProperty = ContentControl.ContentTemplateSelectorProperty.AddOwner(typeof(ContentPresenter), new PropertyMetadata(null, new PropertyChangedCallback(ContentPresenter.OnContentTemplateSelectorChanged)));
            ContentPresenter.ContentStringFormatProperty = DependencyProperty.Register("ContentStringFormat", typeof(string), typeof(ContentPresenter), new PropertyMetadata(null, new PropertyChangedCallback(ContentPresenter.OnContentStringFormatChanged)));
            ContentPresenter.ContentSourceProperty = DependencyProperty.Register("ContentSource", typeof(string), typeof(ContentPresenter), new PropertyMetadata("Content"));
            ContentPresenter.TemplateProperty = DependencyProperty.Register("Template", typeof(DataTemplate), typeof(ContentPresenter), new PropertyMetadata(null, new PropertyChangedCallback(ContentPresenter.OnTemplateChanged)));
            /*
            //ContentPresenter.XMLFormattingTemplateField = new UncommonField<DataTemplate>();
            //ContentPresenter.StringFormattingTemplateField = new UncommonField<DataTemplate>();
            //ContentPresenter.AccessTextFormattingTemplateField = new UncommonField<DataTemplate>();
            */
            DataTemplate dataTemplate = new DataTemplate();
            FrameworkElementFactory frameworkElementFactory;

            /*
            //FrameworkElementFactory frameworkElementFactory = ContentPresenter.CreateAccessTextFactory();
            //frameworkElementFactory.SetValue(AccessText.TextProperty, new TemplateBindingExtension(ContentPresenter.ContentProperty));
            //dataTemplate.VisualTree = frameworkElementFactory;
            //dataTemplate.Seal();
            //ContentPresenter.s_AccessTextTemplate = dataTemplate;
            //dataTemplate = new DataTemplate();
            */

            frameworkElementFactory = ContentPresenter.CreateTextBlockFactory();
            frameworkElementFactory.SetValue(TextBlock.TextProperty, new TemplateBindingExtension(ContentPresenter.ContentProperty));
            dataTemplate.VisualTree = frameworkElementFactory;
            dataTemplate.Seal();
            ContentPresenter.stringTemplate = dataTemplate;

            /*
            //dataTemplate = new DataTemplate();
            //frameworkElementFactory = ContentPresenter.CreateTextBlockFactory();
            //Binding binding = new Binding();
            //binding.XPath = ".";
            //frameworkElementFactory.SetBinding(TextBlock.TextProperty, binding);
            //dataTemplate.VisualTree = frameworkElementFactory;
            //dataTemplate.Seal();
            //ContentPresenter.s_XmlNodeTemplate = dataTemplate;
            //dataTemplate = new ContentPresenter.UseContentTemplate();
            //dataTemplate.Seal();
            */

            frameworkElementFactory = new FrameworkElementFactory(typeof(ContentControl));
            frameworkElementFactory.SetValue(ContentControl.ContentProperty, new TemplateBindingExtension(ContentPresenter.ContentProperty));
            dataTemplate = new DataTemplate();
            dataTemplate.VisualTree = frameworkElementFactory;

            ContentPresenter.uiElementTemplate = dataTemplate;
            dataTemplate = new ContentPresenter.DefaultTemplate();
            dataTemplate.Seal();
            ContentPresenter.defaultTemplate = dataTemplate;
            ContentPresenter.defaultTemplateSelector = new ContentPresenter.DefaultSelector();
        }
开发者ID:evnik,项目名称:UIFramework,代码行数:56,代码来源:ContentPresenter.cs

示例11: CreateDefaultTemplate

    private static DataTemplate CreateDefaultTemplate( Type type, TypeConverter converter )
    {
      Debug.Assert( type != null );
      Debug.Assert( converter != null );

      var template = new DataTemplate();
      var factory = new FrameworkElementFactory( typeof( TextBlock ) );

      var binding = new Binding();
      binding.Mode = BindingMode.OneWay;
      binding.Converter = new DefaultConverter( converter );
      binding.ConverterCulture = CultureInfo.CurrentCulture;

      factory.SetBinding( TextBlock.TextProperty, binding );

      template.VisualTree = factory;
      template.Seal();

      return template;
    }
开发者ID:austinedeveloper,项目名称:WpfExtendedToolkit,代码行数:20,代码来源:GenericContentTemplateSelector.cs

示例12: CreateDataTemplate

        private DataTemplate CreateDataTemplate(Color color)
        {
#if SILVERLIGHT
            return (DataTemplate)XamlReader.Load(
                @"<DataTemplate xmlns=""http://schemas.microsoft.com/client/2007"">
                     <Border BorderThickness=""1 1 0 0"" BorderBrush=""LightGray"" Background=""" + color.ToString() + @""">                        
                         <TextBlock Text=""{Binding Data, Mode=OneWay}"" Margin=""4"" VerticalAlignment=""Center"" HorizontalAlignment=""Right""/>                           
                     </Border> 
                 </DataTemplate>"
                 );
#else
            FrameworkElementFactory border = new FrameworkElementFactory(typeof(Border));
            border.SetValue(Border.BorderThicknessProperty, new Thickness(1, 1, 0, 0));
            border.SetValue(Border.BorderBrushProperty, Brushes.LightGray);
            border.SetValue(Border.BackgroundProperty, new SolidColorBrush(color));
            DataTemplate dataTemplate = new DataTemplate();
            dataTemplate.VisualTree = border;
            FrameworkElementFactory textBlock = new FrameworkElementFactory(typeof(TextBlock));
            textBlock.SetBinding(TextBlock.TextProperty, new Binding("Data"));
            textBlock.SetValue(TextBlock.MarginProperty, new Thickness(2));
            textBlock.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center);
            textBlock.SetValue(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Right);
            border.AppendChild(textBlock);
            dataTemplate.Seal();

            return dataTemplate;
#endif            
        }
开发者ID:Motaz-Al-Zoubi,项目名称:xaml-sdk,代码行数:28,代码来源:MyCustomContextMenuBehavior.cs

示例13: RefreshDefaultScrollTipContentTemplate

    private void RefreshDefaultScrollTipContentTemplate()
    {
      DataGridContext itemContext = DataGridControl.GetDataGridContext( this );

      if( itemContext == null )
        return;

      DataGridControl parentGridControl = itemContext.DataGridControl;

      if( ( parentGridControl == null ) || ( parentGridControl.ScrollViewer == null ) )
        return;

      ColumnCollection columnCollection = itemContext.Columns;

      if( columnCollection == null )
        return;

      Column mainColumn = columnCollection.MainColumn as Column;

      if( mainColumn == null )
        return;

      Xceed.Wpf.DataGrid.Views.UIViewBase uiViewBase = parentGridControl.GetView() as Xceed.Wpf.DataGrid.Views.UIViewBase;

      if( uiViewBase == null )
        return;

      // The ScrollTip.ContentTemplate will now be set. This is to avoid
      // a null ContentTemplate when the ColumnsCollection update its
      // MainColumn after the template is applied
      this.ScrollTipContentTemplateNeedsRefresh = false;

      ForeignKeyConfiguration configuration = mainColumn.ForeignKeyConfiguration;

      // Do not create default template only when none was created before and a template already exists
      if( ( !this.UsingDefaultScrollTipContentTemplate ) && ( uiViewBase.ScrollTipContentTemplate != null ) )
      {
        if( configuration != null )
        {
          this.ContentTemplate = configuration.DefaultScrollTipContentTemplate;
        }
        else
        {
          // Clear the value in case we previously affected it 
          this.ClearValue( ScrollTip.ContentTemplateProperty );

          // Set the default Binding values
          this.SetBinding( ScrollTip.ContentTemplateProperty, this.DefaultScrollTipContentTemplateBinding );
          this.SetBinding( ScrollTip.ContentTemplateSelectorProperty, this.DefaultScrollTipContentTemplateSelectorBinding );
        }
      }
      else
      {
        // A default ContentTemplate template is created using MainColumn as displayed data
        this.UsingDefaultScrollTipContentTemplate = true;

        // If a configuration was found, the default ContentTemplate will
        // be used to convert Content to Foreign value and
        // it will use the ScrollTipContentTemplate defined on UIViewBase
        // if any
        if( configuration == null )
        {
          // Disable warning for DisplayMemberBinding when internaly used
#pragma warning disable 618

          BindingBase displayMemberBinding = mainColumn.DisplayMemberBinding;

#pragma warning restore 618

          FrameworkElementFactory contentPresenter = new FrameworkElementFactory( typeof( ContentPresenter ) );
          contentPresenter.SetValue( ContentPresenter.NameProperty, "defaultScrollTipDataTemplateContentPresenter" );
          contentPresenter.SetBinding( ContentPresenter.ContentProperty, displayMemberBinding );

          contentPresenter.SetBinding( ContentPresenter.ContentTemplateProperty, this.DefaultCellContentTemplateBinding );
          contentPresenter.SetBinding( ContentPresenter.ContentTemplateSelectorProperty, this.DefaultCellContentTemplateSelectorBinding );

          DataTemplate template = new DataTemplate();
          template.VisualTree = contentPresenter;
          template.Seal();

          this.ContentTemplate = template;
        }
        else
        {
          this.SetBinding( ContentPresenter.ContentTemplateProperty, this.DefaultCellContentTemplateBinding );
          this.SetBinding( ContentPresenter.ContentTemplateSelectorProperty, this.DefaultCellContentTemplateSelectorBinding );
          this.ContentTemplate = configuration.DefaultScrollTipContentTemplate;
        }
      }
    }
开发者ID:Torion,项目名称:WpfExToolkit,代码行数:90,代码来源:ScrollTip.cs

示例14: DataTemplate

        /// <summary>
        /// Creates a bound data template.
        /// </summary>
        /// <param name="dataTemplate">The data template.</param>
        /// <param name="boundType">Type of the bound object.</param>
        /// <param name="baseName">A base name.</param>
        /// <returns></returns>
		public static IBoundElement DataTemplate(DataTemplate dataTemplate, BoundType boundType, string baseName)
        {
            if(!dataTemplate.IsSealed) dataTemplate.Seal();
            return new DataTemplateElement(dataTemplate, boundType, baseName);
        }
开发者ID:ssethi,项目名称:TestFrameworks,代码行数:12,代码来源:Bound.cs


注:本文中的System.Windows.DataTemplate.Seal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。