2011-06-27 36 views
1

我新來wpf。爲了獲得檢查列表框功能,我已經添加了下面的xaml我的代碼,但沒有輸出在我的screen.only空白,它可能是什麼?wpf檢查列表框

<TabItem Header="Samples" > 
      <ListBox Margin="10" Width="373" Height="236"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <StackPanel Orientation="Horizontal">        
          <TextBlock Text="MyText"/> 
          <CheckBox IsChecked="False"/> 
         </StackPanel> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 
     </TabItem> 
+0

你綁定列表任何數據源?我需要將您的複選框綁定到數據源中的特定屬性。 –

+0

我有一個如何輕鬆地在WPF中創建一個Checked ListBox的例子,它應該有助於http://www.jarloo.com/how-to-create-a-checkedlistbox-in-wpf/ – Kelly

回答

-1

檢查了這一點它isworking..you使用TabItem的,但你沒有在TabControl的

<TabControl> 
    <TabItem Header="Tab1"> 
     <ListBox Margin="10" Width="373" Height="236"> 
      <ListBox.Items> 

        <StackPanel Orientation="Horizontal">        
         <TextBlock Text="MyText"/> 
         <CheckBox IsChecked="False"/> 
        </StackPanel> 

      </ListBox.Items> 
     </ListBox> 
</TabItem> 
    </TabControl> 

如果把它定義你是新來的WPF使用XamlPadX它會給你很大的幫助練習它..

+0

thnx dude .i已經定義的選項卡控件 –

0

這個

<TabItem Header="Roles" >    
    <ListBox Margin="10" Width="373" Height="236"> 
     <ListBox.ItemTemplate>      
      <DataTemplate>       
       <StackPanel Orientation="Horizontal"> 
        <TextBlock Text="MyText"/> 
        <CheckBox IsChecked="False"/> 
       </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
     <ListBoxItem>Hi</ListBoxItem> 
    </ListBox> 
</TabItem> 

替換您的代碼,並告訴我們,如果它仍然顯示空白

+0

我顯示你好,但DataTemplate沒有顯示 –

2

列表框有點有線對等task..Have看看ItemsControl的。 這裏是我使用的代碼:

<ItemsControl    
    ItemsSource="{Binding ***}" IsTabStop="False"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <CheckBox 
       Content="{Binding Name}" 
       IsChecked="{Binding IsSelected}" /> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 
0

這可能有助於

1.Inorder工作的DataTemplate你必須指定itemsource,在這裏我已經限制了一個Stateslist的項目集合。

2.也將Datacontext設置爲ViewModel或CodeBehind作爲datacontext。

3.Datacontext將使用代碼隱藏的StateList屬性集合分發到ListBox的ItemSource

-

public Window1() 
    { 
     InitializeComponent(); 
     this.DataContext = this; 
    LoadData(); 

    } 

using viewmodel 

public Window1() 
    { 
     InitializeComponent(); 
     DataContext = new Window1ViewModel(); 
    LoadData(); 

    } 



//MyItemsource Property for listbox 

private ObservableCollection<States> _stateslist; 
    public ObservableCollection<States> StatesList 
    { 
     get { return _stateslist; } 
     set 
     { 
      _stateslist = value; 
      RaisePropertyChanged(() => StatesList); 
     } 
    } 

    // Sample Data Loading 

public void LoadData() 
    { 
     StatesList = new ObservableCollection<States>(); 

     StatesList.Add(new States 
     { 
      StateName = "Kerala" 
     }); 
     StatesList.Add(new States 
     { 
      StateName = "Karnataka" 
     }); 
     StatesList.Add(new States 
     { 
      StateName = "Goa" 
     }); 
    } 

Window1.Xaml

<ListBox ItemsSource="{Binding StatesList}" > 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <StackPanel> 
        <CheckBox IsChecked="{Binding IsSelected"} Content="{Binding StateName}" /> 
        <TextBox Text="{Binding TextBoxValue}" /> 
       </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox>