调整网格内按钮上的 TextBlock
Adjust TextBlock on a Button within a Grid
我在网格上有两个按钮。在右边的按钮上应该有一些文本左对齐显示,另一个文本右对齐。到目前为止,在我所有的尝试中,两个字符串都位于按钮的中心,而不是左右。
解决此问题后,我需要在文本和按钮的 left/right 边框之间添加一些 space。
谁能帮忙?
我的 XAML- 到目前为止开始的代码:
<UserControl x:Class="MyNamespace.MyClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="900">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button>
<TextBlock Text="left button"></TextBlock>
</Button>
<Button Grid.Column="1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="left"></TextBlock>
<TextBlock Text="right" Grid.Column="1"></TextBlock>
</Grid>
</Button>
</Grid>
</UserControl>
不要怪我没有把这些东西放在 ResourceDictionary 中。只是想让示例简单一些。
您需要将 HorizontalContentAlignment="Stretch"
添加到 Button
以使内容占满 space。之后,要在文本和按钮边框之间制作 space,只需在第一个和最后一个位置再添加两个网格列即可。
XAML:
<UserControl x:Class="MyNamespace.MyClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="900">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button>
<TextBlock Text="left button"></TextBlock>
</Button>
<Button Grid.Column="1" HorizontalContentAlignment="Stretch">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="10"/>
</Grid.ColumnDefinitions>
<TextBlock Text="left" Grid.Column="1"></TextBlock>
<TextBlock Text="right" Grid.Column="3"></TextBlock>
</Grid>
</Button>
</Grid>
我在网格上有两个按钮。在右边的按钮上应该有一些文本左对齐显示,另一个文本右对齐。到目前为止,在我所有的尝试中,两个字符串都位于按钮的中心,而不是左右。
解决此问题后,我需要在文本和按钮的 left/right 边框之间添加一些 space。 谁能帮忙?
我的 XAML- 到目前为止开始的代码:
<UserControl x:Class="MyNamespace.MyClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="900">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button>
<TextBlock Text="left button"></TextBlock>
</Button>
<Button Grid.Column="1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="left"></TextBlock>
<TextBlock Text="right" Grid.Column="1"></TextBlock>
</Grid>
</Button>
</Grid>
</UserControl>
不要怪我没有把这些东西放在 ResourceDictionary 中。只是想让示例简单一些。
您需要将 HorizontalContentAlignment="Stretch"
添加到 Button
以使内容占满 space。之后,要在文本和按钮边框之间制作 space,只需在第一个和最后一个位置再添加两个网格列即可。
XAML:
<UserControl x:Class="MyNamespace.MyClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="900">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button>
<TextBlock Text="left button"></TextBlock>
</Button>
<Button Grid.Column="1" HorizontalContentAlignment="Stretch">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="10"/>
</Grid.ColumnDefinitions>
<TextBlock Text="left" Grid.Column="1"></TextBlock>
<TextBlock Text="right" Grid.Column="3"></TextBlock>
</Grid>
</Button>
</Grid>