Width
画像をその画像にバインドしようとしていますActualHeight
(高さはレイアウトによって決定され、正方形にしたい - これを行うより良い方法があれば、聞きたいです)。
これは私のXAMLです:
<Grid Grid.Row="1" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Image x:Name="favImage1" Source="{Binding Controller.FailStorage.FailRoamingStorage.Favorites[0].ImageUri}" Grid.Column="0" Grid.Row="0" Style="{StaticResource FavoriteImageStyle}" Width="{Binding ActualHeight, ElementName=favImage1, Mode=OneWay}"/>
</Grid>
スタイルは次のように定義されています。
<Style x:Key="FavoriteImageStyle" TargetType="Image">
<Setter Property="Stretch" Value="UniformToFill"/>
<Setter Property="Margin" Value="0,0,12,12"/>
<Setter Property="VerticalAlignment" Value="Stretch"></Setter>
</Style>
現在、これは部分的に機能します-コレクションにアイテムを追加した後にページに戻ることは機能しているようです。
ただし、読み込み、またはその後のページへの移動により、画像が表示されなくなります。
興味深いことに、読み込み後、画像の ActualWidth は ActualHeight ではありません。少ないです。そして、グリッドの幅はさらに狭くなっています...これは単純に奇妙です...
favImage1.ActualWidth
185.13514709472656
favImage1.ActualHeight
274.0
((FrameworkElement)favImage1.Parent).ActualWidth
138.0
これを行う正しい方法は何ですか?