1

我有下面的代碼爲我構建了一個文本框。 該應用程序要求我製作所有控件的通用版本, ,因爲這是我們的api發送給我們的方式。文本框點擊事件不會在Windows 8上點擊以進行鼠標點擊

TextBox txtcontent = new TextBox(); 
txtcontent.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Stretch; 
txtcontent.SetValue(Grid.ColumnProperty, 1); 
txtcontent.SetValue(Grid.RowProperty, RowCount); 
txtcontent.Width = 320; 
txtcontent.FontSize = 20; 
txtcontent.TextWrapping = TextWrapping.Wrap; 
txtcontent.Margin = new Thickness(10); 
txtcontent.Foreground = App.scbAccTechGrayDark; 
txtcontent.BorderBrush = App.scbAccTechGrayLight; 
txtcontent.Background = App.scbAccTechGreenLight; 
txtcontent.Tapped += txtcontent_Tapped; 

現在的問題是,當我點擊文本框它不會觸發挖掘事件。 據我所知,鼠標點擊會觸發商店應用程序的tapped事件?

這是竊聽事件的第一部分,但我從未達到過。

void txtcontent_Tapped(object sender, TappedRoutedEventArgs e) 
{ 
    TextBox txtFinder = (sender as TextBox); 
    string[] myconver = (sender as TextBox).Tag.ToString().Split(','); 
    int BlockIndex = Convert.ToInt16(myconver[4].ToString()); 
    int FieldID = Convert.ToInt16(myconver[5].ToString()); 
    string ColumnName = Convert.ToString(myconver[6].ToString()); 
    string FieldCode = Convert.ToString(myconver[7]); 
    string BlockName = Convert.ToString(myconver[8]); 
} 

任何人都可以告訴我我必須做什麼,或者我在做什麼錯在這裏?

+1

你想實現什麼behaivor?也許GotFocus活動正在爲你工作。 – Florian

+0

@ Anubis1233謝謝你的伴侶,如果你願意,我會爲你選擇。其實現在很明顯,現在我認爲這樣吧! :) – Arrie

回答

3

使用AddHandler方法,可以使用以下代碼將Tapped Event關聯到文本框。

txtcontent.AddHandler(TappedEvent, new TappedEventHandler(txtcontent_Tapped), true); 

    void txtcontent_Tapped(object sender, TappedRoutedEventArgs e) 
     { 
      System.Diagnostics.Debug.WriteLine("Tested!!"); 
     } 

這裏是完成相同的代碼片段。

public MainPage() 
     { 
      this.InitializeComponent(); 
      AddControl(); 
     } 



     private void AddControl() 
     { 
      TextBox txtcontent = new TextBox(); 
      txtcontent.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Stretch; 
      txtcontent.SetValue(Grid.ColumnProperty, 1); 
      txtcontent.SetValue(Grid.RowProperty, 0); 
      txtcontent.Width = 150; 
      txtcontent.FontSize = 20; 
      txtcontent.TextWrapping = TextWrapping.Wrap; 
      txtcontent.Margin = new Thickness(10); 
      txtcontent.AddHandler(TappedEvent, new TappedEventHandler(txtcontent_Tapped), true); 
      //txtcontent.Foreground = new Solid 
      //txtcontent.BorderBrush = App.scbAccTechGrayLight; 
      //txtcontent.Background = App.scbAccTechGreenLight; 
      this.LayoutRoot.Children.Add(txtcontent); 
     } 


     void txtcontent_Tapped(object sender, TappedRoutedEventArgs e) 
     { 
      System.Diagnostics.Debug.WriteLine("Tested by WmDev!!"); 
     } 

希望它有幫助。

謝謝。

+0

感謝它爲我工作:) –

0
private void txtbox_GotFocus(object sender, RoutedEventArgs e) 
    { 
     txtbox.Text = ""; // da e34n el txtbox yb2a empty when clicked ;) 
    } 

試試這個;)