문제

다음과 같은 XAML이 있다고 가정 해 봅시다.

<StackPanel>
    <TextBlock Text="Blah Blah Blah" />
</StackPanel>

이 경우 너비는 스택 패널의 크기로 자라며 명시 적으로 설정되지 않기 때문에 내가 예상 한대로 NAN입니다.

불행히도, Realitywidth는 내가 기대하는 결과를 제공하지 않습니다. Recallwidth는 StackPanel의 크기에 의해 구속되지 않습니다. 해당 텍스트가 부모 스택 패널의 크기를 지나쳐도 렌더링 된 텍스트의 길이에 묶여 있습니다.

예를 들어, stackpanel.actualwidth가 400이고 내 텍스트가 400보다 크면 textBlock.actualwidth가 556 (또는 무엇이든) 일 수 있습니다. 같은 상황의 버튼은 이런 식으로 행동하지 않습니다.

TrimmingText를 구현하는 첨부 된 동작 (텍스트가 자르면 끝에 elipsis)을 구현하는 첨부 된 동작을 구현하려고하기 때문에 이것은 문제입니다. 너비 속성이 명시 적으로 설정되어 있으면 잘 작동하지만보다 역동적 인 경우에는 작동하지 않습니다.

이견있는 사람?

브라이언

도움이 되었습니까?

해결책

나는 이것이 나타날 수있는 간단한 문제라고 생각하지 않습니다 (또는 적어도 나에게 한). WPF에서는 일반적으로 사용하는 것이 좋습니다. DockPanel 대신 제어 StackPanel. Silverlight의 경우 문제는 존재하지 않는다는 사실에 의해 문제가 악화됩니다. DockPanel 제어. 내 제안 (작동하거나 작동하지 않을 수도있는 한 가지 제안은 Width 의 속성 TextBlock ~로 ActualWidth 부모의 재산 StackPanel 부모가 크기를 변경할 때마다. 가장 우아한 솔루션은 아니지만 불행히도 필요할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top