Silverlight Säulenkopf -Header verschwindet bei der Vorlage des Header -Stils im Antragstil

StackOverflow https://stackoverflow.com/questions/4033865

  •  26-09-2019
  •  | 
  •  

Frage

Ich habe ein Silberlicht DataGrid mit zwei Spalten. Die Header dieser beiden Spalten -Header müssen mit einem Textfeld und einem Spalten -Header -Titel oder -namen angezeigt werden, damit das Textfeld später zum Filtern verwendet werden kann.

Ich habe also den folgenden Code verwendet, um das Textfeld mit einem Stil anzuzeigen:

<Style x:Name="mytemplate"
       x:Key="mytemplate"
       xmlns:dataprimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"
       TargetType="dataprimitives:DataGridColumnHeader">
   <Setter Property="ContentTemplate" >
       <Setter.Value>
           <DataTemplate x:Name="ColHeaderTemplategrid">                      
               <StackPanel>                             
                   <TextBox x:Name="txtfilterBox"  KeyDown="txtfilterBox_KeyDown" Width="40"/>
               </StackPanel>
           </DataTemplate>
       </Setter.Value>
   </Setter>
</Style>

Und ich habe den Stil wie unten auf die Säulenheader angewendet:

 ((DataGridTextColumn)column[0]).HeaderStyle = mytemplate;
 ((DataGridTextColumn)column[1]).HeaderStyle = mytemplate;

Das Ding ist, jetzt ist das Textfeld sichtbar, aber der Spalte -Header -Titel oder -name verschwindet?

Wie zeige ich meinen Spaltenheader zusammen mit dem Textfeld?

War es hilfreich?

Lösung

Wie Sie gesagt haben, ich habe gerade Textblock in die Stackpanel der Vorlage eingefügt und das Problem gelöst

Der Code ist unten

<Style x:Name="mytemplate" x:Key="mytemplate"  xmlns:dataprimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"
                            TargetType="dataprimitives:DataGridColumnHeader">
            <Setter Property="ContentTemplate" >
                <Setter.Value>
                    <DataTemplate x:Name="ColHeaderTemplategrid">
                         <StackPanel>
                             <TextBlock Text="{Binding}" ></TextBlock>
                             <TextBox x:Name="txtfilterBox"  KeyDown="txtfilterBox_KeyDown" Width="40"/>
                        </StackPanel>

                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top