Silverlight 인터페이스에서 컨테이너의 크기가 조정될 때 스택 패널의 크기를 조정하여 텍스트가 잘리지 않도록해야합니다. 문제의 텍스트는 사용자가 선택한 언어에 따라 언어 파일에서 런타임에 추가됩니다. 문자열의 길이가 언어마다 상당히 다를 수 있으므로이 방법에 가장 근접한 방법을 잘 모르겠다. 이것이 그 모양입니다.동적 텍스트로 XAML의 크기를 조정하는 가장 좋은 방법
문제의 스택 패널은 컬러 블록 및 운전 라벨, 액티브 일, 가용성 및 브레이크는 길이가 변경할 수있는 문자열입니다. XAML은 현재 다음과 같습니다.
<StackPanel x:Name="StatusTotals" Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,5,0,5">
<Border x:Name="DrivingBorder" Background="#80FF0000" BorderBrush="Black" BorderThickness="1" Opacity="1" CornerRadius="5,0,0,5" Margin="0,0,-1,0">
<StackPanel Orientation="Vertical" Margin="5,1" VerticalAlignment="Center">
<TextBlock Text="Driving" Tag="dttlDriving" HorizontalAlignment="Center"/>
<TextBlock x:Name="DrivingDuration" Text="00:00" HorizontalAlignment="Center"/>
</StackPanel>
</Border>
<Border x:Name="ActiveWorkBorder" Background="#8000FFFF" BorderBrush="Black" BorderThickness="1" Opacity="1" Margin="0,0,-1,0">
<StackPanel Orientation="Vertical" Margin="5,1" VerticalAlignment="Center">
<TextBlock Text="ActiveWork" Tag="dttlActiveWork" HorizontalAlignment="Center"/>
<TextBlock x:Name="ActiveWorkDuration" Text="00:00" HorizontalAlignment="Center"/>
</StackPanel>
</Border>
<Border x:Name="AvailabilityBorder" Background="#80FFFF00" BorderBrush="Black" BorderThickness="1" Opacity="1" Margin="0,0,-1,0">
<StackPanel Orientation="Vertical" Margin="5,1" VerticalAlignment="Center">
<TextBlock Text="Availability" Tag="dttlAvailability" HorizontalAlignment="Center"/>
<TextBlock x:Name="AvailabilityDuration" Text="00:00" HorizontalAlignment="Center"/>
</StackPanel>
</Border>
<Border x:Name="BreakBorder" Background="#8000FF00" BorderBrush="Black" BorderThickness="1" Opacity="1" CornerRadius="0,5,5,0">
<StackPanel Orientation="Vertical" Margin="5,1" VerticalAlignment="Center">
<TextBlock Text="Break" Tag="dttlBreak" HorizontalAlignment="Center"/>
<TextBlock x:Name="BreakDuration" Text="00:00" HorizontalAlignment="Center"/>
</StackPanel>
</Border>
</StackPanel>
나는 그것이 내가 원하는대로 이미 동적으로 크기를 조정되고 그 위에 그려진 통치자,보다 넓은 있다면이 패널의 크기를 줄일 수 있도록하고 싶습니다,하지만 숙박 할 수있는 라벨 아래의 값을 싶습니다
가독성을 위해 크기입니다.
어떻게 접근하는 것이 가장 좋을까요? 나는 레이블의 FontSize 속성을 설정하거나 ScaleTransform을 사용하는 것을 고려해 봤지만 이것이 가장 좋은 방법인지 확신 할 수 없습니다. 실제로 글꼴 크기를 변경하지 않고 패널이 채택 할 너비를 도출 한 다음 ActualWidth를 테스트하는 방법이 있습니까? 이 작업을 수행하면이 작업을 더 쉽게 수행 할 수 있습니다.
멋지다.이 트릭은 완벽합니다. 이것이 Silverlight의 문제점 중 일부입니다. 사용할 수있는 것만 알면됩니다. –