2010-06-04 5 views
1

여러 TextBoxes 및 Button이있는 ChildWindow 컨트롤이 있습니다. Button을 클릭하면 TextBox 중 하나의 "IsReadOnly"속성을 변경하려고합니다. 내 단추 클릭 이벤트 처리기에서 모든 TextBox 개체는 "null"입니다.Silverlight 3 단추 클릭 이벤트 처리기에서 다른 모든 개체가 null입니까?

누군가가 이것이 왜, 어떻게 접근 할 수 있는지 설명 할 수 있습니까?

도움 주셔서 감사합니다.

편집 :

<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

자세한 내용을 참조하십시오. 클릭 핸들러는 어떤 모습입니까? 컨트롤 XAML은 어떻습니까? –

답변

0

그것은 내가 대신 내 파생 클래스의 기본 클래스에 정의 된 컨트롤에 액세스를 시도했기 때문에 문제가 나타납니다. 이름을 기반으로 요소를 반환하는 메서드를 기본 클래스에 추가하고 작동했습니다. 도움 주셔서 감사합니다.

관련 문제