none
Wie eigenes Control (erbt von richtigem Control) im WPF verwenden? RRS feed

  • Frage

  • Hab da ein Codesnippet 

     

    public class MyDataGrid : DataGrid
    {
     
        public DataTemplateSelector CellTemplateSelector
        {
            get { return (DataTemplateSelector)GetValue(CellTemplateSelectorProperty); }
            set { SetValue(CellTemplateSelectorProperty, value); }
        }
     
        public static readonly DependencyProperty CellTemplateSelectorProperty =
            DependencyProperty.Register("Selector", typeof(DataTemplateSelector), typeof(MyDataGrid), 
            new FrameworkPropertyMetadata(null));
     
     
     
        protected override void OnAutoGeneratingColumn(DataGridAutoGeneratingColumnEventArgs e)
        {
            e.Cancel = true;
            Columns.Add(new DataGridTemplateColumn
                {
                    Header = e.Column.Header, 
                    CellTemplateSelector = CellTemplateSelector
                });
        }
    }
    
    

     http://www.wpftutorial.net/DataGrid.html#templateAutoColumns im Netz gefunden und würde das gerne in meiner WPF-Anwendung verwenden. Nur weiß ich nicht wie, denn

     

    <l:MyDataGrid ItemsSource="{Binding}" 
                  AutoGenerateColumns="True" 
                  CellTemplateSelector="{StaticResource templateSelector}" />
     
    
    

    funktioniert nicht im XAML. :-( Und ich weiss leider nicht was ich da falsch mache. Die Klasse ist auch im Namespace MeineAnwendung.Components (Components ist ein Ordner den ich angelegt habe).

     

    Grüße

    Guenter

     

     


    Dienstag, 13. Dezember 2011 15:19

Antworten

  • Grundsätzlich solltest dur erstmal dein konkretes Problem beschreiben!

    Die Frage von meiner Seite aus ist, ob du i: in deiner Page oder Window deklariert hast.
    Schau dir mal dazu folgenden Link an:

    http://msdn.microsoft.com/de-de/library/ms747086.aspx

    Hier ein Beispiel:

    <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:i="clr-namespace:NameSpaceDesControls"> 
    
    
    Dienstag, 13. Dezember 2011 16:11
    Beantworter

Alle Antworten

  • Funktioniert nicht ist sehr ungenau...

    Kannst du das näher beschreiben?

    Hast du den Namespace "l" eingebunden?

    Dienstag, 13. Dezember 2011 15:28
    Beantworter
  • Namespace?

    Mir würde ein kurzes Beispiel reichen.

    Dienstag, 13. Dezember 2011 15:54
  • Grundsätzlich solltest dur erstmal dein konkretes Problem beschreiben!

    Die Frage von meiner Seite aus ist, ob du i: in deiner Page oder Window deklariert hast.
    Schau dir mal dazu folgenden Link an:

    http://msdn.microsoft.com/de-de/library/ms747086.aspx

    Hier ein Beispiel:

    <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:i="clr-namespace:NameSpaceDesControls"> 
    
    
    Dienstag, 13. Dezember 2011 16:11
    Beantworter
  • Öhm, ja vielen Dank.

     

    Genau da war der Hund begraben!

     

    Grüße,

     

    der Günter!

    Mittwoch, 14. Dezember 2011 09:38