C# XAML如何将元素排列在居中元素之后
我想创建一个按钮,将显示一些文字连同一个状态图标内。文本应居中,状态图标应位于文本旁边。大概是这样的: 我没有找到一种方法,如何只将文本居中,然后将图标定位在居中文本之后。现在我正在使用一个网格解决方案,它将文本居中,并将图标向右对齐C# XAML如何将元素排列在居中元素之后,c#,wpf,xaml,C#,Wpf,Xaml,我想创建一个按钮,将显示一些文字连同一个状态图标内。文本应居中,状态图标应位于文本旁边。大概是这样的: 我没有找到一种方法,如何只将文本居中,然后将图标定位在居中文本之后。现在我正在使用一个网格解决方案,它将文本居中,并将图标向右对齐 <Button VerticalContentAligment="Stretch" HorizontalContentAligment="Stretch"> <Grid> <TextBlock Vertical
<Button VerticalContentAligment="Stretch" HorizontalContentAligment="Stretch">
<Grid>
<TextBlock VerticalAligment="Center" HorizontalAligment="Center"/>
<Image VerticalAligment="Center" HorizontalAligment="Right"/>
</Grid>
</Button>
这不是我想要的,但它符合我目前的尺寸
我知道这可以通过一些绑定魔法来实现,但这似乎太简单了。如果你能给我指出一个没有绑定魔法的解决方案,那就太好了,但即使有一个解决方案,我也会非常感激。一个有3列的网格应该可以工作。当左右列的宽度相等时,中间列将自动居中
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" VerticalAlignment="Center"/>
<Image Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Left"/>
</Grid>