Как сделать так, чтобы содержимое кнопки показывалось слева в wp7? - PullRequest
2 голосов
/ 10 октября 2011

У меня есть кнопка с шириной ширины телефона, я хочу, чтобы содержимое кнопки было изображением в левом углу и текстом после изображения, я помещаю изображение и текст в стековую панель, сетку и холст и выдаю HorizantalAllignment = "Left", но всегда содержание показано в центре, как я могу делать то, что я хочу или какой другой элемент управления я могу использовать, пожалуйста, помогите мне

               <Border BorderThickness="0,0,0,2" BorderBrush="#FF479175">
                <Button Height="90" BorderThickness="0">
                    <Grid>
                        <Image Source="/HomePageDes;component/Images/main_news.png" Height="80" HorizontalAlignment="Left"  />
                        <TextBlock Text="News" />
                    </Grid>
                </Button>
            </Border>

Ответы [ 2 ]

3 голосов
/ 10 октября 2011

Просто установите HorizontalContentAlignment="Stretch" on your button. По умолчанию centre.

Тогда сетка с HorizontalAlignment="Stretch" будет делать то, что вы хотите.

2 голосов
/ 10 октября 2011

Я думаю, это то, что вы спрашиваете:

 <Button>
      <StackPanel Orientation="Horizontal">
        <Image src=""/>
        <TextBlock Text="ClickMe"/>
      </StackPaenl>
    </Botton>

Если вы используете Grid в качестве контейнера, вам нужно определить столбцы сетки и поместить изображение в столбец 0, а текст в столбец 1. В этом случае проще использовать Stackpanel.

Например:

  <Button>
    <Grid HorizontalAlignment="Left">
       <Grid. ColumnDefinitions >
          <ColumnDefinition Width="Auto"/>
          <ColumnDefinition Width="Auto"/>
       </Grid. ColumnDefinitions>
                <Image Source="/HomePageDes;component/Images/main_news.png" Height="80" HorizontalAlignment="Left"  Grid.Column="0"/>
                 <TextBlock Text="News"  Grid.Column="1"/>
     </Grid>
   </Button>
...