我正在开发一个使用 XAML 编写/显示 GUI 的应用程序。目前,我在 GUI 上显示了大部分所需的元素,现在正在处理布局——将各种元素定位在特定的位置。
大多数控件/按钮等都向左对齐,并保持“绑定”到 GUI 的左侧,即使我通过将窗口的左边缘进一步向左拖动来调整窗口大小(图标等移动到保持与窗口边缘的相对距离)。
但是,我有一个要向右对齐的元素,以便它将保持“绑定”到 GUI 的右侧 - 如果我通过将其右侧边缘进一步向右拖动来调整窗口大小,它应该移动以保持它与窗口边缘的相对距离......此刻,该元素停留在我绘制它的位置(即距离左侧 900 像素),无论窗口的大小是多少 -因此,如果我将窗口的宽度调整为小于 900 像素,则无法看到该元素。
我用于要绑定到 GUI 左侧的元素的 XAML 标记是,例如:
<Button Style="{DynamicResource NoChromeButton}" Click="backBtn_Click" Margin="0, 0, 0, 0" HorizontalAlignment="Left" >
<Image Source="C:\...\abc.png" Height="30" Width="40" />
</Button>
我尝试用于绑定到 GUI 右侧的元素的 XAML 标记是:
<Button Style="{DynamicResource NoChromeButton}" Click="referThis" Margin="0, 0, 0, 0" HorizontalAlignment="Right" >
<TextBlock>Button XYZ</TextBlock>
</Button>
但是,将 to 设置HorizontalAlignment
为Right
, 实际上并没有将文本按钮移动到右侧 - 它仍然绑定到显示屏的左侧......我发现将其向右移动的唯一方法是设置一个大的它的'x'位置的值,即Margin="900, 0, 0, 0"
,但是该位置与窗口的大小无关,所以如果我将右侧边缘向左拖动太远,则该按钮位于窗口的显示区域之外,所以我看不出来...
如何设置按钮的属性,使其位置相对于显示窗口的右侧边缘?
编辑
所有有问题的元素都显示在相同的<Grid>
和<StackPanel>
标签内,即
<StackPanel>
<Grid ...>
<Button ... HorizontalAlignment="Left">
</Button>
...
<Button ... HorizontalAlignment="Right">
</button>
...
</Grid>
...
</StackPanel>