how can I set a background image in code?

2019-03-05 02:06发布

问题:

If I want to set a image as background on a textBox I can use this code in the axml:

<Grid>
 <Grid.Background>
    <ImageBrush ImageSource="MyImage.jpg" />
 </Grid.Background>
 <TextBlock Text="Some Text" />
</Grid>

However, I am creating a TextBlock in code, I amtrying this:

TextBox myTextBox = new TextBox();

But in this way I don't know how to access to the ImageBrush property.

Which is the way to add a background in code?

Thank so much.

回答1:

Provided that MyImage.jpg is a file in the application's current folder, you could write

myTextBox.Background = new ImageBrush(new BitmapImage(new Uri("MyImage.jpg")));

If it's a Resource File, you would have to use a Resource File Pack URI:

myTextBox.Background =
    new ImageBrush(new BitmapImage(new Uri("pack://application:,,,/MyImage.jpg")));