Silverlight 将网格转换为按钮

Silverlight 将网格转换为按钮,silverlight,Silverlight,我有一个2列的网格,我想用一个来包装,现在当我这样做时,它完全扭曲了网格的布局,我如何禁用按钮的样式,以便网格可以通过按钮单击,但它看起来是一样的 当我开始时,我有以下xaml <Grid> <Grid x:Name="LayoutRoot" Background="White"> <Grid.ColumnDefinitions> <ColumnDefinition Width="180*" />

我有一个2列的网格,我想用一个
来包装,现在当我这样做时,它完全扭曲了网格的布局,我如何禁用按钮的样式,以便网格可以通过按钮单击,但它看起来是一样的

当我开始时,我有以下xaml

<Grid>
    <Grid x:Name="LayoutRoot" Background="White">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="180*" />
            <ColumnDefinition Width="296*" />
        </Grid.ColumnDefinitions>

        <Image Grid.Column="0" Source="{Binding image}" Margin="10,10,10,10"/>

        <StackPanel Grid.Column="1">
            <TextBlock Grid.Column="1" Text="{Binding hoursAgo}" FontSize="16" FontWeight="Light" FontStyle="Italic"></TextBlock>
            <TextBlock FontSize="26.667" TextDecorations="Underline" Text="{Binding title}" TextWrapping="Wrap" Height="40" Width="295" HorizontalAlignment="Left" VerticalAlignment="Top" Foreground="#FF3253B8" Canvas.Top="22" Grid.Column="1" >News Title Goes here</TextBlock>
            <TextBlock FontSize="21.333" Text="{Binding description}" TextWrapping="Wrap" d:LayoutOverrides="VerticalAlignment"  Grid.Column="1" />
        </StackPanel>
    </Grid>          
</Grid>

新闻标题在这里
如果我使用expression blend转换为按钮,它会稍微弄乱源代码,这不是我想要的

<UserControl.Resources>
    <Style x:Key="SelectedEntry" TargetType="Button">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid>
                        <Grid x:Name="LayoutRoot" Background="White">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="180*" />
                                <ColumnDefinition Width="296*" />
                            </Grid.ColumnDefinitions>

                            <Image Grid.Column="0" Source="{Binding image}" Margin="10,10,10,10"/>

                            <StackPanel Grid.Column="1">
                                <TextBlock FontSize="26.667" TextDecorations="Underline" Text="{Binding title}" TextWrapping="Wrap" Height="40" Width="295" HorizontalAlignment="Left" VerticalAlignment="Top" Foreground="#FF3253B8" Canvas.Top="22" Grid.Column="1" ><Run Text="News Title Goes here"/></TextBlock>
                                <TextBlock FontSize="21.333" Text="{Binding description}" TextWrapping="Wrap" d:LayoutOverrides="VerticalAlignment"  Grid.Column="1" />
                            </StackPanel>
                        </Grid>          
                        <ContentPresenter/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="FontWeight" Value="Light"/>
        <Setter Property="FontSize" Value="16"/>
        <Setter Property="FontStyle" Value="Italic"/>
    </Style>
</UserControl.Resources>

<Button Content="{Binding hoursAgo}" Style="{StaticResource SelectedEntry}"/>


现在,描述没有显示在网格中。

打开Blend,右键单击要变成
按钮的
网格
,然后选择
生成控件

然后在弹出窗口中,选择要将其转到的控件(在本例中为
按钮)
:)就这样


是的,我喜欢。你知道设置是什么吗。我将有一个剧本。只是添加了一些截图。:)它真的把我的风格搞砸了,因为它坚持要更改我对内容演示者内容的一个绑定,并创建了一个奇怪的语法。它只为你创建了一个
ContentPresenter
。。。每个
按钮都有一个。你这是什么意思?你需要发布一些代码,否则我不知道你真正想要什么。这是因为
按钮是
内容控件
,它只允许你有一个内容,但你想要两个,即标题和描述。这里的
按钮
无法执行您想要的操作。此外,勾选和取消勾选我的答案几次都不酷,我的答案问了你的问题。实际上,尝试将Content=“{Binding hoursAgo}”更改为Content=“{Binding}”,看看标题和描述是否正常。对于
网格
,有一个
点击
事件,使用它而不是
点击