.Net Framework 4.7で動きが変わったところ(WPF)
たまたま見つけたの一つだけです
<Grid> <Grid.RowDefinitions> <RowDefinition MaxHeight="0" /> <RowDefinition Height="*" /> <RowDefinition MaxHeight="4" /> </Grid.RowDefinitions> <Rectangle Fill="Green"/> <Rectangle Grid.Row="1" Fill="Blue"/> <Rectangle Grid.Row="2" Fill="Orange"/> </Grid>
こういうXAMLを用意します
RowDefinitionにMaxHeightしか書いていないとかなかなかの気持ち悪さを含んでいます
.Net Framework 4.6.2の場合
MaxHeightをHeightで処理してくれているような動きですね
.Net Framework 4.7の場合
どのように解釈したのかわからない結果になりました(どこかにドキュメントでもあるのかな?)
おまけ
<ControlTemplate x:Key="DefaultVerticalScrollBar" TargetType="{x:Type ScrollBar}"> <Grid> <Grid.RowDefinitions> <RowDefinition MaxHeight="0" /> <RowDefinition Height="0.00001*" /> <RowDefinition MaxHeight="4" /> </Grid.RowDefinitions> <Rectangle Grid.Row="1" Fill="Blue" Width="4" VerticalAlignment="Stretch" Margin="0,4,0,0"/> <Track x:Name="PART_Track" Grid.Row="1" IsDirectionReversed="true"> <Track.DecreaseRepeatButton> <RepeatButton Command="ScrollBar.PageUpCommand" Visibility="Collapsed"/> </Track.DecreaseRepeatButton> <Track.Thumb> <Thumb Margin="0,1,0,1" Background="Green"> </Thumb> </Track.Thumb> <Track.IncreaseRepeatButton> <RepeatButton Command="ScrollBar.PageDownCommand" Visibility="Collapsed"/> </Track.IncreaseRepeatButton> </Track> </Grid> </ControlTemplate>
こんなの使っていたらエラーも何も出ずにアプリが止まりました(止まるというかいつまでたってもウィンドウが表示されない状態)
結論
ちゃんとしたXAML書け