флажок wpf - PullRequest
       11

флажок wpf

1 голос
/ 27 июня 2011

Я новичок в wpf. Чтобы получить функциональность флажка, я добавил ниже xaml в свой код, но на моем экране нет вывода. Только пусто, что бы это могло быть?

<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>

Ответы [ 6 ]

3 голосов
/ 27 июня 2011

просто взгляните на этот базовый образец

http://merill.net/2009/10/wpf-checked-listbox/

2 голосов
/ 27 июня 2011

Поле списка немного запутано для такой задачи ... Посмотрите на ItemsControl.Вот код, который я использую:

<ItemsControl            
    ItemsSource="{Binding ***}" IsTabStop="False">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <CheckBox
                Content="{Binding Name}"
                IsChecked="{Binding IsSelected}" />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
1 голос
/ 22 сентября 2011

Еще лучше, просто используйте новый элемент управления CheckListBox в Extended WPF Toolkit http://wpftoolkit.codeplex.com/wikipage?title=CheckListBox&referringTitle=Home

0 голосов
/ 27 марта 2014

Это может помочь

1.На порядок работы с таблицей данных необходимо указать источник элементов, здесь я ограничил список состояний набором элементов.

2.Также установите Datacontext на ViewModel или CodeBehind как datacontext.

3.Datacontext распространит коллекцию свойств StateList в источник списка элементов

с использованием codebehind -

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>
0 голосов
/ 27 июня 2011

Замените ваш код этим

<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 голосов
/ 27 июня 2011

Проверьте, это работает ... Вы используете 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, это поможет вам попрактиковаться в этом ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...