Silverlight 4.0 在datagrid、silverlight 4中设置行样式

Silverlight 4.0 在datagrid、silverlight 4中设置行样式,silverlight-4.0,datagrid,coding-style,Silverlight 4.0,Datagrid,Coding Style,我正在尝试更改datagrid的行样式,以便在选择行时更改背景颜色(不是行背景,而是选择矩形的颜色,默认情况下,该矩形对于我的应用程序来说有点太亮)。然而,我在将样式应用于网格时看到的行为是,所有行都像折叠的百叶窗一样收缩在一起。这就是我写的风格: <Style x:Key="DataGridRowStyle" TargetType="sdk:DataGridRow"> <Setter Property="Template">

我正在尝试更改datagrid的行样式,以便在选择行时更改背景颜色(不是行背景,而是选择矩形的颜色,默认情况下,该矩形对于我的应用程序来说有点太亮)。然而,我在将样式应用于网格时看到的行为是,所有行都像折叠的百叶窗一样收缩在一起。这就是我写的风格:

<Style x:Key="DataGridRowStyle" TargetType="sdk:DataGridRow">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="sdk:DataGridRow">
                        <sdk:DataGrid>
                            <VisualStateManager.VisualStateGroups>
                                <VisualStateGroup x:Name="CommonStates">                                       
                                    <VisualState x:Name="Normal Selected">
                                        <Storyboard>
                                            <ColorAnimation 
                                                Storyboard.TargetName="ButtonBrush" 
                                                Storyboard.TargetProperty="Color" 
                                                To="Red" />                                            
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                            </VisualStateManager.VisualStateGroups>
                        </sdk:DataGrid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

有人能告诉我这是怎么回事吗?我还没有真正理解视觉状态是如何工作的,只是在黑暗中拍摄


感谢检查DataGrid()的模板背景色(蓝色)在模板中是硬编码的。选中该行时,所发生的一切是矩形变为可见(不透明度=1)。遗憾的是,您必须重新设置整个DataGridRow的模板。。。在提供的链接中,您将找到所有可能需要的信息

在模板中查找以下代码:

这个链接非常有用。我为datagridrow使用了整个控件模板,并更改了与正常选定状态相关的部分,它似乎工作正常。非常感谢。