设置datatemplate的样式以适合silverlight datgrid列标题

设置datatemplate的样式以适合silverlight datgrid列标题,silverlight,datagrid,datagridtemplatecolumn,Silverlight,Datagrid,Datagridtemplatecolumn,我在xaml页面中使用了datatemplate样式,如下所示 < Style x:Name="mytemplate" x:Key="mytemplate" xmlns:dataprimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data" TargetType="dataprim

我在xaml页面中使用了datatemplate样式,如下所示

<

    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>
                            <StackPanel Background="Aqua" Height="{Binding this.DataGridColumnHeader.Height}" Width="{Binding this.DataGridColumnHeaderWidth}" >
       <TextBlock Text="{Binding}"   HorizontalAlignment="Center" FontWeight="Black" ></TextBlock>
                                 <TextBox x:Name="{Binding}" Padding="0,-1,0,0"  HorizontalAlignment="Stretch" Width="100" Height="20" KeyDown="txtfilterBox_KeyDown" LostFocus="txtfilterBox_LostFocus" />
                            </StackPanel>
                        </DataTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
<
Style x:Name=“mytemplate”x:Key=“mytemplate”xmlns:dataprimitives=“clr命名空间:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data”
TargetType=“dataprimitives:DataGridColumnHeader”>
此样式将应用于silverlight datgrid列标题样式。 现在,我希望模板内的stackpanel与模板的高度和宽度相同 silverlight datgrid列标题?那么如何做到这一点呢


否则如何拉伸内容模板以填充datagrid列标题的整个空间

您是否尝试将StackPanel的水平和垂直对齐属性设置为拉伸?您根本不需要绑定到父容器的宽度和高度属性

如果将StackPanel设置为stretch不起作用,只需将StackPanel包裹在边框中,您将成为金色。请参阅下面的代码:

<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>
                    <Border Background="Aqua" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
                                    <StackPanel>
                          <TextBlock Text="{Binding}"   HorizontalAlignment="Center" FontWeight="Black" ></TextBlock>
                                      <TextBox x:Name="{Binding}" Padding="0,-1,0,0"  HorizontalAlignment="Stretch" Width="100" Height="20" KeyDown="txtfilterBox_KeyDown" LostFocus="txtfilterBox_LostFocus" />
                                    </StackPanel>
                    </Border>
                            </DataTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>