2010-06-18 25 views
1

我使用的是Silverlight 4.0,我有一個簡單的網格,其中顯示了一些與用戶有關的詳細信息,例如姓名,電話號碼。地址等。 最初,文本框處於只讀模式。 當用戶點擊「更新信息」鏈接(在同一個網格中)時,文本框變爲可編輯。 現在,我從「只讀」到「編輯」模式,嘗試了一個簡單的過渡效果..Silverlight:使用TransitioningContentControl將網格從只讀移動到編輯模式

這裏的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;   
    } 

如何在此場景中實現過渡效果?

回答

3

我對TransitioningContentControl不太熟悉,但我認爲要使該控件正常工作,您需要切換Content本身,而不僅僅是其中的Control的屬性。爲了實現所需的轉換,您可以爲文本框創建自定義(或修改現有)ControlTemplate,其中包含名爲'ReadOnly'的自定義VisualState和其中的Storyboard以獲得所需的效果。或者您可以創建兩個不同的Grid控件,其中一個帶有ReadOnly接口,另一個帶有Editable接口,並且在您的代碼中,只需在它們之間切換即可。

下面的鏈接有關於如何使用TransitioningContentControl工作示例:http://firstfloorsoftware.com/blog/animated-page-navigation-in-sl3/

+0

感謝您閱讀的帖子,是的,你是right..the內容需要改變。 這是我設法獲得動畫效果的方式: - 鏈接的點擊事件中的 - ,首先我將TCC的內容設置爲空,然後我改變了控件的可見性,並在最後將網格分配回內容的TCC。 和現在,我不知道如何創建一個自定義的視覺狀態,但它聽起來很有趣..我看着那個 – Jags 2010-06-20 11:07:52

+2

鏈接不再工作 – MickyD 2013-10-21 00:14:51

相關問題