Как растянуть изображение, чтобы уместить в нужном месте? - PullRequest
1 голос
/ 08 февраля 2011

Я занимаюсь разработкой приложения для windows phone 7. Я новичок в приложении Windows Phone 7. В моем приложении я динамически создал кнопку управления и добавил фоновое изображение к кнопке управления следующим образом

 Button AlphabetButton = new Button();
                AlphabetButton.Content = vAlphabet;
                ImageBrush brush = new ImageBrush();
                brush.ImageSource = new BitmapImage(new Uri("button_off.png", UriKind.Relative));
                //brush.Stretch = Stretch.None;
                AlphabetButton.Background = brush;
                AlphabetButton.BorderBrush = new SolidColorBrush(Colors.Gray);

                AlphabetButton.Margin = new Thickness(-12, -27, 0, 0);
                AlphabetButton.Width = 80;
                AlphabetButton.Height = 80;             

Я вижу фоновое изображение для элемента управления кнопки, но оно не помещается в пространство, занимаемое элементом управления кнопки. Я вижу пустое место на правой и нижней границе кнопки управления. Это потому, что изображение не помещается в пространство, занимаемое кнопками управления. Как мне добавить изображение на заднем плане, чтобы оно могло уместиться в пространство, занимаемое кнопкой управления. Можете ли вы предоставить мне какой-либо код или ссылку, по которой я могу решить вышеуказанную проблему?

Ответы [ 3 ]

1 голос
/ 08 февраля 2011

Измените закомментированную строку кода, чтобы установить Stretch на Fill:

brush.Stretch = Stretch.Fill;
0 голосов
/ 31 июля 2014

Вы можете сделать это в xaml. А для контента Button используйте сетку вместо стековой панели, иначе у вас будет изображение, которое отображается не полностью

  <Button>
        <Button.Content>
            <Grid>
                <Image x:Name="buttonIcon"
                       Source="{Binding Image}"
                       Stretch="Fill">
                </Image>
            </Grid>
         </Button.Content>
   </Button>
0 голосов
/ 08 февраля 2011

Может быть, это пустое пространство, потому что вы установили поле на -12.-27, 0, 0?

Изображение заполняет область кнопки (80x80), но затем вся кнопка смещается влево на 12 пикселей и на 27 пикселей вверх, что создает некоторое пустое пространство справа и снизучто вы не ожидали.

Я подозреваю, что вам нужно будет добавить изображение к содержимому кнопки, имеющей размер 92, 107, чтобы получить вид, который вы ищете, это довольно грязно, особенно в коде.

...