Silverlight 将网格转换为按钮
我有一个2列的网格,我想用一个Silverlight 将网格转换为按钮,silverlight,Silverlight,我有一个2列的网格,我想用一个来包装,现在当我这样做时,它完全扭曲了网格的布局,我如何禁用按钮的样式,以便网格可以通过按钮单击,但它看起来是一样的 当我开始时,我有以下xaml <Grid> <Grid x:Name="LayoutRoot" Background="White"> <Grid.ColumnDefinitions> <ColumnDefinition Width="180*" />
来包装,现在当我这样做时,它完全扭曲了网格的布局,我如何禁用按钮的样式,以便网格可以通过按钮单击,但它看起来是一样的
当我开始时,我有以下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}”,看看标题和描述是否正常。对于网格
,有一个点击
事件,使用它而不是点击
。