1

我正在使用 Silverlight 4.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,但我认为要使该控件正常工作,您需要切换Content自身,而不仅仅是 aControl内部的属性。要实现所需的过渡,您可以ControlTemplate为文本框创建一个自定义(或修改现有),其中包含一个VisualState名为“ReadOnly”的自定义,并Storyboard在其中为所需的效果添加一个。或者您可以创建两种不同的Grid控件,一种带有ReadOnly界面,一种带有Editable界面,在您的代码中,只需在它们之间切换即可。

以下链接有一个关于如何使用的工作示例:http TransitioningContentControl: //firstfloorsoftware.com/blog/animated-page-navigation-in-sl3/

于 2010-06-19T09:35:23.513 回答