Xaml 以编程方式更改windows phone中按钮的背景

Xaml 以编程方式更改windows phone中按钮的背景,xaml,windows-phone-8,windows-phone,Xaml,Windows Phone 8,Windows Phone,在这种情况下,如何以编程方式更改背景 <Button x:Name="ButtonPlayBack1" Tag="0" Grid.Column="1" Height="60" Width="70" Click="ButtonPlayBack_OnClick"> <Button.Template> <ControlTemplate> <Grid>

在这种情况下,如何以编程方式更改背景

        <Button x:Name="ButtonPlayBack1" Tag="0" Grid.Column="1" Height="60" Width="70" Click="ButtonPlayBack_OnClick">
        <Button.Template>
            <ControlTemplate>
                <Grid>
                    <Grid.Background>
                        <ImageBrush ImageSource="/Assets/images/bubble_right_grey.png"/>
                    </Grid.Background>
                </Grid>
            </ControlTemplate>
        </Button.Template>
    </Button>

试试这个:

XAML:

解决方案:

Grid grid = ButtonPlayBack1.GetLogicalChildrenByType<Grid>(true).First();

if (grid != null)
grid.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri(backGroundSrc, UriKind.Relative)) };
Grid Grid=ButtonPlayBack1.GetLogicalChildrenByType(true).First();
如果(网格!=null)
grid.Background=newImageBrush{ImageSource=newBitMapImage(新Uri(backGroundSrc,UriKind.Relative));

感谢您的回复,是的,它很有效。。。但我需要使用ControlTemplate,因为绑定对您很有用。
private void ButtonPlayBack1_Click(object sender, RoutedEventArgs e)
{
    BitmapImage bit = new BitmapImage(new Uri("/Assets/AlignmentGrid.png", UriKind.Relative));
    ImageBrush brush = new ImageBrush();
    brush.ImageSource = bit;
    ButtonPlayBack1.Background = brush;
}
Grid grid = ButtonPlayBack1.GetLogicalChildrenByType<Grid>(true).First();

if (grid != null)
grid.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri(backGroundSrc, UriKind.Relative)) };