2014-04-25 4 views
0

나는 "Windows Phone 8"이라는 플레이트 폼의 "shell"응용 프로그램에서 작업합니다. 명령을 실행할 때 모든 사용자 UI 컨트롤러를 비활성화하려고합니다. 모든 컨트롤러 버튼은 "비활성화"모드에서 잘 작동하지만 내 컨트롤러 "텍스트 상자"가 여전히 활성화 된 이유는 확실하지 않습니다. 사용자가 여전히 입력 필드를 클릭 할 수 있기 때문에 작업 치료 매우 성가신 듀란트이다 '(내 textBox를 false로 비활성화하면 항상 true로 설정됩니까?

가 감사를 많이들 ;-)

이 내가 내 작업이 후 비활성화하고 활성화하려고 내 코드입니다 마무리 :

//.... Get the controller textBox in my class 
ttbxInputShell = new RadTextBox() { Text = (ContentPanel.FindName("ttbx_shell") as RadTextBox).Text }; 
//.... 



// Disable Ui 
    #region DisableUI 
    public void DisableUi() 
    { 
     Deployment.Current.Dispatcher.BeginInvoke(() => 
     { 
      ttbxInputShell.IsEnabled = false;   //No Work 
      ttbxInputShell.IsHitTestVisible = false; //No Work 
      ttbxInputShell.IsReadOnly = true;   //No Work 

      btnLastCommande.IsEnabled = false;   //Work 
      btnHelpCommande.IsEnabled = false;   //Work 
      btnExecuteCommande.IsEnabled = false;  //Work 
     }); 

    } 
    #endregion 

    // Enable Ui 
    #region EnableUI 
    public void EnableUi() 
    { 
     Deployment.Current.Dispatcher.BeginInvoke(() => 
     { 
      ttbxInputShell.IsEnabled = true; 
      ttbxInputShell.IsHitTestVisible = true; 
      ttbxInputShell.IsReadOnly = false; 

      btnLastCommande.IsEnabled = true; 
      btnHelpCommande.IsEnabled = true; 
      btnExecuteCommande.IsEnabled = true; 

     }); 
    } 
    #endregion 

XAML 코드

 <TextBox x:Name="ttbx_shell" KeyDown="ttbx_shell_KeyDown_1" GotFocus="ttbx_shell_GotFocus_1" LostFocus="ttbx_shell_LostFocus_1" TextChanged="ttbx_shell_TextChanged_1" HorizontalAlignment="Stretch" VerticalAlignment="Center" TextWrapping="Wrap" Height="100" Margin="-7,-8,0,0" FontSize="26" Padding="3,6,3,0" Grid.Row="2" FontFamily="dos_font.ttf#Perfect DOS VGA 437 Win" /> 

     <Button x:Name="btnLastCommande" Content="F1" Grid.Row="2" Margin="231,0,55,0" Grid.ColumnSpan="3" Tap="btnLastCommande_Tap" /> 
     <Button x:Name="btnHelpCommande" Content="?" Grid.Row="2" Grid.Column="1" Margin="55,0,95,0" Grid.ColumnSpan="3" Tap="btnHelpCommande_Tap"/> 
     <Button x:Name="btnExecuteCommande" Grid.Row="2" Grid.Column="2" Content="Enter" Padding="-3" Margin="55,0,-5,0" Grid.ColumnSpan="2" Tap="btnExecuteCommande_Tap"/> 
    </Grid> 

그리고이 여전히 enbale되는 입력을 찾을 수 있습니다 내 응용 프로그램의 사진입니다 ..하지만 버튼 전 의 금지 :

enter image description here

+0

xaml을 포함 할 수 있습니까? – helb

+0

페이지의 모든 항목 위에 투명 눈금이 있고 사용자 상호 작용을 차단하고 싶을 때 표시하는 것은 어떻습니까? 더 쉽고 적은 코드를 작성할 수 있습니다. – disklosr

+0

'ttbx_shell'! ='ttbxInputShell'. 복사 및 붙여 넣기 오류입니까? 아니면 두 개의 다른 컨트롤입니까? 틀린 것과 상호 작용하고 있습니까? (따라서 당신의 문제 ...) –

답변

0

당신은 당신의 UI에 추가되지 않습니다 컨트롤을 활성화/비활성화. 따라서 UI에 표시된 "ttbx_shell"이라는 이름의 원래 컨트롤은 영향을받지 않습니다.

+0

감사합니다. mutchhhh !! 이제 완벽하게 작동합니다 ^^^^ 너무 좋아요. –

관련 문제