2012-07-09 64 views
0

任何人都可以告訴我如何連接編程創建的列表中的複選框的單擊事件?到目前爲止,我只看到連接靜態創建的對象事件的例子,而不是從代碼動態分配的事件。c#編程式創建列表事件處理程序howto

如下面的代碼片段描述創建的列表:

namespace CustomListApp 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
     // Constructor 
     public MainPage() 
     { 
      InitializeComponent(); 
      for (int i = 1; i <= 10; ++i) 
      { 
       CustomListBoxItem clbi = new CustomListBoxItem(); 
       clbi.Title.Text = "This is item " + i; 
       clbi.Condition.IsChecked = i % 2 == 0; 
       CustomListBox.Items.Add(clbi); 
      } 
     } 
    } 
} 

和CustomListBoxItem具有這樣的結構:

<UserControl x:Class="CustomListApp.CustomListBoxItem"[...]> 

    <Grid x:Name="ListBoxItemGrid" Background="{StaticResource PhoneChromeBrush}" Height="65"> 
     <CheckBox x:Name="Condition" Height="67" HorizontalAlignment="Right" VerticalAlignment="Top" Width="65" Click="Condition_Click" /> 
     <TextBlock x:Name="Title" Height="65" HorizontalAlignment="Left" Margin="84,0,0,0" Text="TextBlock" VerticalAlignment="Center" Width="294" /> 
    </Grid> 
</UserControl> 

回答

1

也許你可以創建你想要添加元素的典型到你的列表框。然後你可以檢查這樣一個點擊:

<YOUR DATA TYPE> data = (sender as ListBox).SelectedItem as <YOUR DATA TYPE>; 

然後你就可以使用該數據。我希望我可以幫你解答這個問題。

0

你的意思是像

cbi.Condition.Click += new_click_handler; 

其中new_click_handler是你想要的新的單擊處理程序補充的嗎?

但你需要以編程方式爲每個項目添加一個新的處理程序?難道你不能僅僅引用你已經在你的xaml中已經存在的Condition_Click處理函數中的項目嗎?

相關問題