1

私はSilverlight4.0を使用していますが、名前、電話番号など、ユーザーに関連する詳細が表示される単純なグリッドがあります。アドレスなど。最初は、テキストボックスは読み取り専用モードです。ユーザーが(同じグリッド内の)[情報の更新]リンクをクリックすると、テキストボックスが編集可能になります。現在、「読み取り専用」モードから「編集可能」モードへの単純な遷移効果を試しています。

これがxamlコードです

 <layoutToolkit:TransitioningContentControl x:Name="tcc"
                                               Grid.Row="1"
                                               BorderThickness="1">
        <layoutToolkit:TransitioningContentControl.Content>
            <Grid x:Name="grd1" Background="White">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />

                </Grid.ColumnDefinitions>

                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>

                <TextBlock Text="Name" Grid.Row="0"  Grid.Column="0"/>

                <TextBox x:Name="txtName" Grid.Column="1" Grid.Row="0" IsReadOnly="True"></TextBox>

                <TextBlock Text="Email" Grid.Row="1"  Grid.Column="0"/>

                <TextBox x:Name="txtEmail" Grid.Column="1" Grid.Row="1" IsReadOnly="True"></TextBox>
                <Button x:Name="ChangeContent" Content="Updatee Info" Click="ChangeContent_Click" Grid.Column="1" Grid.Row="2"></Button>
            </Grid>
        </layoutToolkit:TransitioningContentControl.Content>
    </layoutToolkit:TransitioningContentControl>

ボタンクリックイベントで

private void ChangeContent_Click(object sender, System.Windows.RoutedEventArgs e)
    {
        //tcc.Content = DateTime.Now.ToString();
       txtName.IsReadOnly = false;
       txtEmail.IsReadOnly = false;           
    }

このシナリオでトランジション効果を達成するにはどうすればよいですか?

4

1 に答える 1

3

私はあまり詳しくありませんが、そのコントロールが機能するには、内部のプロパティだけでなく、それ自体TransitioningContentControlを切り替える必要があると思います。必要な遷移を実現するために、「ReadOnly」という名前のカスタムを使用してテキストボックスのカスタムを作成(または既存のものを変更)し、必要な効果を得ることができます。または、2つの異なるコントロールを作成できます。1つはインターフェイス付き、もう1つはインターフェイス付きで、コード内でそれらを切り替えるだけです。ContentControlControlTemplateVisualStateStoryboardGridReadOnlyEditable

次のリンクには、使用方法に関する実用的な例があります:http TransitioningContentControl: //firstfloorsoftware.com/blog/animated-page-navigation-in-sl3/

于 2010-06-19T09:35:23.513 に答える