2010-06-04 3 views
1

J'ai un contrôle ChildWindow qui a plusieurs TextBoxes, et un bouton dedans ,. Lorsque je clique sur le bouton, je veux modifier la propriété "IsReadOnly" de l'un des TextBoxes. Dans mon gestionnaire d'événements de clic de bouton, tous les objets TextBox sont "null". Est-ce que quelqu'un peut expliquer pourquoi c'est, et comment je peux y accéder?dans Silverlight 3 gestionnaire d'événements de clic, tous les autres objets sont null?

Merci pour toute aide.

Edit:

<localCW:cwBase x:Class="Administration.cwAdd" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls" 
      xmlns:localCW="clr-namespace:Administration.ChildWindows" 
      xmlns:localCtrl="clr-namespace:Administration.Controls" 
      Width="480" 
      Height="460" 
      Title="Add" 
      Header="Add New" 
      OkButtonText="Save"> 

<Grid x:Name="LayoutRoot" 
     Margin="2"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="30" /> 
     <RowDefinition Height="80" /> 
     <RowDefinition Height="30" /> 
     <RowDefinition Height="30" /> 
.... 
.... 
<TextBlock Text="Relative Path:" 
       Grid.Row="2" 
       Grid.Column="0" 
       Margin="0,0,0,5" 
       HorizontalAlignment="Right" /> 
    <Grid Grid.Row="2" 
      Grid.Column="1" 
      Width="250" 
      HorizontalAlignment="Left"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*" /> 
      <ColumnDefinition Width="30" /> 
     </Grid.ColumnDefinitions> 

     <localCtrl:RelativeURLTextBox x:Name="tbxNewUrl" 
             Grid.Column="0" 
             Margin="5 0 0 5" 
             Width="215" 
             HorizontalAlignment="Left" 
             Text="{Binding RelativeURL, Mode=TwoWay}" /> 
     <Button Grid.Column="1" 
       Margin="3" 
       Width="24" 
       Height="24" 
       Click="btnEditRelURL_Click"> 
      <Button.Content> 
       <Image Source="../images/edit_16px.png" 
         HorizontalAlignment="Center" 
         VerticalAlignment="Center" /> 
      </Button.Content> 
     </Button> 
    </Grid> 




private void btnEditRelURL_Click(object sender, RoutedEventArgs e) 
    { 
     // Neither of these worked vvv 
     tbxNewUrl.SetReadOnly(false); 
     //this.Dispatcher.BeginInvoke (() => {tbxNewUrl.SetReadOnly(false);}); 
    } 
+1

Plus d'infos, s'il vous plaît. À quoi ressemble votre gestionnaire de clics? Que diriez-vous du contrôle XAML? –

Répondre

0

Il semble que la question est parce que je tentais d'accéder à un contrôle qui a été définie dans la classe de base, au lieu de ma classe dérivée. J'ai ajouté une méthode à la classe de base pour retourner l'élément en fonction du nom, et cela a fonctionné. Merci pour l'aide.

Questions connexes