XAML を使用して GUI を作成/表示するアプリケーションを開発しています。現在、必要な要素のほとんどが GUI に表示されており、現在、さまざまな要素を特定の場所に配置するレイアウトに取り組んでいます。
ほとんどのコントロール/ボタンなどは左に配置され、左端をさらに左にドラッグしてウィンドウのサイズを変更しても、GUI の左側に「バインド」されたままになります (アイコンなどはウィンドウの端からの相対的な距離を保ちます)。
ただし、右に揃えたい要素が 1 つあるため、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>
ただし、 を に設定しHorizontalAlignment
てもRight
、実際にはテキスト ボタンは右に移動しません。まだディスプレイの左側にバインドされています。右に移動する唯一の方法は、大きく設定することです。その「x」位置の値、つまりMargin="900, 0, 0, 0"
、しかし、その位置はウィンドウのサイズに関連していないため、右端を左にドラッグしすぎると、そのボタンはウィンドウの表示領域の外にあるので、見えない...
ボタンの位置が表示ウィンドウの右端を基準とするように、ボタンのプロパティを設定するにはどうすればよいですか?
編集
問題のすべての要素は、同じ<Grid>
and<StackPanel>
タグ内に表示されます。
<StackPanel>
<Grid ...>
<Button ... HorizontalAlignment="Left">
</Button>
...
<Button ... HorizontalAlignment="Right">
</button>
...
</Grid>
...
</StackPanel>