반응형
WPF의 스택 패널에서 왼쪽과 오른쪽 모두에 컨트롤 정렬
다음 코드가 있습니다.
<DockPanel>
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
<RadioButton Content="_Programs"
IsChecked="{Binding Path=ProgramBanksSelected}" IsEnabled="{Binding Path=ProgramsEnabled}" Margin="8" />
<StackPanel>
<Label Content="Master" Height="28" Name="MasterFileStatus" VerticalContentAlignment="Center"/>
</StackPanel>
</StackPanel>
...
라디오 버튼은 스택 패널의 왼쪽에 배치되어야하며 (예제를 복잡하게하지 않기 위해 일부 버튼을 제거했습니다) 레이블 (내포 된 StackPanel에 임시로 넣음)은 오른쪽에 있어야합니다.
이미 많은 정렬 조합을 시도했지만 오른쪽에 레이블이 표시되지 않습니다. 이를 위해 무엇을 추가해야합니까?
StackPanel
, StackPanels
stack을 사용하지 마십시오 . 그들은 명백한 이유로 스택 방향으로 정렬을 허용하지 않습니다. 다음 Grid
과 같은 열 정의와 함께를 사용하십시오 .
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
이것이 오래되었지만 누군가가 나처럼 이것을 발견하면 여기에 간단한 해결책이 있습니다.
새 그리드를 만들고 그 그리드 안에 수평 정렬이 다른 두 개의 스택 패널을 놓습니다.
<Grid>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<!--Code here-->
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<!--Code here-->
</StackPanel>
</Grid>
가능한 문제는 이제 추가 처리없이 둘이 서로 겹칠 수 있다는 것입니다.
당신이 설정 한대로 StackPanel
로의 방향을 Horizontal
의 HorizontalAlignment
속성은 하위 요소에서 작동하지 않습니다. StackPanel
추가 컨트롤이 필요한 경우을 유지할 수 있지만 Grid
원하는 레이아웃을 구축하기 위해 (다른 것들 중에서)로 전환하는 것이 좋습니다 .
또한 Grid
을 사용하면 각 열의 실제 너비를 제어 할 수 있습니다.
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50" />
<ColumnDefinition Width="150" />
</Grid.ColumnDefinitions>
<RadioButton
Grid.Column="0"
...
/>
<Label
Grid.Column="1"
...
/>
</Grid>
사용자 @pasx가 맞습니다. DockPanel을 사용하고 RadioButton을 왼쪽에 도킹하고 레이블이있는 StackPanel을 오른쪽에 도킹해야합니다.
<DockPanel>
<DockPanel
DockPanel.Dock="Top"
LastChildFill="False" >
<RadioButton
DockPanel.Dock="Left"
Content="_Programs"
IsChecked="{Binding Path=ProgramBanksSelected}"
IsEnabled="{Binding Path=ProgramsEnabled}"
Margin="8" />
<StackPanel
DockPanel.Dock="Right">
<Label
Content="Master"
Height="28"
Name="MasterFileStatus"
VerticalContentAlignment="Center"/>
</StackPanel>
</DockPanel>
...
반응형
'Program Tip' 카테고리의 다른 글
C ++ 11에서 명시 적으로 삭제 된 멤버 함수를 사용하여 복사 할 수없는 기본 클래스에서 상속 할 가치가 있습니까? (0) | 2020.12.11 |
---|---|
CURL 오류 : 수신 실패 : 피어에 의한 연결 재설정-PHP Curl (0) | 2020.12.11 |
VARCHAR 변수에 하위 문자열이 포함되어 있는지 어떻게 알 수 있습니까? (0) | 2020.12.11 |
다른 사용자가 설치 한 앱을 제거하는 방법은 무엇입니까? (0) | 2020.12.11 |
Phonegap과 Sencha Touch의 차이점 (0) | 2020.12.11 |