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)) };