이것은 Silverlight입니다.HorizontalAlignment 및 VerticalAlignment를 처리하는 가장 간단한 FrameworkElement?
초기 목표는 몇 가지 VerticalAlignment 및 HorizontalAlignment가 포함 된 임의의 요소를 팝업에 표시하는 것입니다. VerticalOffset 또는 HorizontalOffset을 사용하고 싶지 않습니다. 복잡한 바인딩을 포함하여 실제로하고 싶은 것이 더 많기 때문입니다.
첫 번째 시도했다 :
<Popup>
<Button
Height="135"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom" />
</Popup>
두 번째 시도했다 :
<Popup
Height="135"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom">
<Button />
</Popup>
두
는 실패했다 : 버튼은 언제나 최고하지 스트레치에 (HorizontalAlignment로와 VerticalAlignment 작동하지 않았다).<Popup>
<Border>
<Button
Height="135"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom" />
</Border>
</Popup>
을 그리고 그것은 노력하고 있습니다 :
그래서 간단한 FrameworkElement에서 요소를 캡슐화하는 생각을했다.
하지만이 예제에서 Border
을 사용했다, 내가 Grid
및 기타 여러 FrameworkElement
(하지만 캔버스 또는 뷰 박스 또는 팝업와) 함께 할 수 있었던 때. HorizontalAlignment 및 VerticalAlignment를 사용하여 다른 요소를 캡슐화하는 가장 단순하고 효율적이며 프로세서 친화적 인 투명 FrameworkElement가 무엇인지 알고 싶습니다. 그것은 :
- 국경? (위의 예와 같이)
- UserControl?
- ContentControl?
- ContentContainer?
- 일부 맞춤형 기본 MyFrameworkElement? (대부분의 기본 구현에 도움이 필요할 수도 있음)
- 그리드와 같은 뭔가?
"래퍼 요소"가 필요할 때마다 나는 '테두리'를 사용합니다. 기본적으로 BorderThickness는 0이고 Background는 설정되지 않습니다. – Martin
@Martin 현재 Border, UserControl, ContentControl 및 ContentContainer 사이에 주저합니다. ContentContainer는 다른 것보다 속성이 적기 때문에 노력하고 있습니다. –