#xaml
#xaml
Вопрос:
Привет, как сделать эту кнопку:
<Button x:Name="StartButton" Background="Transparent" Click="StartButton_Click">
<Button.Content>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock FontSize="18" FontFamily="Segoe MDL2 Assets" Text="amp;#xE768; " VerticalAlignment="Center"/>
<TextBlock FontSize="18" Text="Start"/>
</StackPanel>
</Button.Content>
</Button>
чтобы заполнить его родительский элемент (по горизонтали) и выровнять его содержимое по левому краю?
Комментарии:
1. Можете ли вы предоставить более полный пример? Трудно диагностировать проблему только с
Button
помощью кода.
Ответ №1:
Это ответ:
<Button x:Name="StartButton" Background="Transparent" HorizontalAlignment="Stretch" HorizontalContentAlignment="Left">
<TextBlock FontSize="18">
<Run FontFamily="Segoe MDL2 Assets" Text="amp;#xE768; "/>
<Run Text="Start"/>
</TextBlock>
</Button>
Ответ №2:
Для получения ожидаемого результата я рекомендую использовать <Run>
для определения строк вашего TextBlock
Это должно выглядеть так :
<Button x:Name="StartButton" Background="Transparent" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Click="StartButton_Click">
<TextBlock FontSize="18" HorizontalAlignment="Left">
<Run FontFamily="Segoe MDL2 Assets" Text="amp;#xE768; "/>
<Run Text="Start"/>
</TextBlock>
</Button>
Комментарии:
1. К сожалению, кнопка не заполняет своего родителя. Хотя он выровнен по левому краю.
2. Возможно, я забыл
Button
собственное выравнивание. Отредактированный код3. Я опубликовал правильный ответ. Должно быть HorizontalContentAlignment=»Left», и нет необходимости устанавливать HorizontalAlignment для текстового блока. Тем не менее, большое вам спасибо, поскольку вы показали мне путь.