Поворот элементов в сетке - разрывает распределение [дубликат]

AFAICS никто еще не разместил соответствующую часть документации :

Значения параметров по умолчанию оцениваются при выполнении определения функции. Это означает, что выражение оценивается один раз, когда функция определена, и что для каждого вызова используется одно и то же «предварительно вычисленное» значение. Это особенно важно для понимания, когда параметр по умолчанию является изменяемым объектом, таким как список или словарь: если функция изменяет объект (например, добавив элемент в список), значение по умолчанию изменяется. Обычно это не то, что было предназначено. Способ вокруг этого - использовать None как значение по умолчанию и явно проверить его в теле функции [...]

29
задан Nasenbaer 23 June 2011 в 18:22
поделиться

3 ответа

Используйте LayoutTransform вместо RenderTransform. Он применяется во время макета, а не во время рендеринга.

65
ответ дан Rachel 20 August 2018 в 16:55
поделиться
  • 1
    Я никогда не использовал это. Большое спасибо за быстрый ответ !!! – Nasenbaer 24 June 2011 в 07:06
  • 2
    В Blend это несколько «ниже складки», - это означает, что вы видите RenderTransform по умолчанию и должны расширить панель Transforms, чтобы увидеть LayoutTransform. Я никогда не замечал этого там, но, конечно же, он прячется почти на виду. – Mike L 24 October 2012 в 15:30
  • 3
    @Rachel Может ли UWP использовать LayoutTransform? – quangkid 28 November 2017 в 09:39
<TextBlock Height="14" 
    x:Name="TextBlock1" 
    Text="Vertical Bottom to Up" Margin="73,0,115,0" RenderTransformOrigin="0.5,0.5" > 
    <TextBlock.RenderTransform> 
        <TransformGroup> 
            <ScaleTransform/> 
            <SkewTransform/> 
            <RotateTransform Angle="-90"/> 
            <TranslateTransform/> 
        </TransformGroup> 
    </TextBlock.RenderTransform> 
</TextBlock> 
1
ответ дан kapex 20 August 2018 в 16:55
поделиться

Как и Рейчел, используйте LayoutTransform

<TextBlock Text="Goodday" >
   <TextBlock.LayoutTransform>
     <RotateTransform Angle="90" />
   </TextBlock.LayoutTransform>  
</TextBlock>
22
ответ дан Max Mazur 20 August 2018 в 16:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: