次のように、XAML に 2 つのラジオ ボタンがあります。
<RadioButton x:Name="Radio1"
Margin="12,46,30,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Content="Radio1"
GroupName="Group1"
IsChecked="True" />
<RadioButton x:Name="Radio2"
Margin="12,46,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Content="Radio2"
GroupName="Group1"
IsChecked="False" />
ラジオ ボタン チェックごとに異なるグリッドを表示したいので、次のように Grid Visibility を RadioButton IsChecked プロパティにバインドします。
<Grid Name="Grid1"
Grid.Row="1"
Visibility="{Binding IsChecked,
Converter={StaticResource visibilityConverter},
ElementName=Radio1}">
<Grid Name="Grid2"
Grid.Row="1"
Margin="0,50,0,0"
Visibility="{Binding IsChecked,
Converter={StaticResource visibilityConverter},
ElementName=Radio2}">
正常に動作しますが、問題があります。このページを初めてロードすると、2 つのグリッドが数秒間表示され、チェックされていないグリッドが消えます。Visibility of Grid がデフォルト値に設定されているようで、バインディングに従って描画後に変更されます。これに対する解決策または回避策はありますか?
注: このソリューションは Windows Phone 8 ソリューションです。