Silverlight 3 — Сетка данных в элементе Accordian — Как установить заголовок

#silverlight-3.0 #accordion

#silverlight-3.0 #аккордеон

Вопрос:

У меня есть элемент управления Accordion, к которому я добавил сетку данных.

Проблема в том, что я не могу установить заголовок элемента accordian, который отображает сетку данных.

Я могу установить заголовок только для объекта класса AccordionItem, а не при добавлении Datagrid в Accordion.

Я также попытался добавить Datagrid к объекту Accordionitem, который был добавлен в Accordion, но не смог добиться успеха. Я не могу понять, как добавить сетку данных в объект accordonitem.

Ценю вашу помощь.

Спасибо, я

Комментарии:

1. Приведенный выше ответ от R2cOON отлично работает. Я также получил ответ здесь: forums.silverlight.net/forums/p/125308/286961.aspx#286961

Ответ №1:

У Accordion есть только AccordionItem дочерние элементы. Вы должны явно указать дочернему элементу значение Accordion вот так (пример элемента an, Accordion с a StackPanel в качестве дочернего элемента и шаблон для заголовка):

 <layoutToolkit:Accordion 
        x:Name="accordion" 
        ExpandDirection="Down" 
        HorizontalAlignment="Stretch" 
        HorizontalContentAlignment="Stretch" 
        SelectionChanged="Accordion_SelectionChanged" 
        AccordionButtonStyle="{StaticResource DateAccordionButtonStyle}" 
        Background="White"
        Padding="2"
        >
    <layoutToolkit:AccordionItem x:Name="dayAI" Background="{StaticResource OutlookCalendarColor}" >
        <layoutToolkit:AccordionItem.HeaderTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal" Margin="0,0,0,2">
                    <Image VerticalAlignment="Center" Source="{Binding Day, Source={StaticResource ImagesPath}}" Stretch="Uniform" />
                    <TextBlock FontWeight="Bold" VerticalAlignment="Center" Text="{Binding Resource.Day, Source={StaticResource LocalizedStrings}}" Margin="5,0,0,0" />
                </StackPanel>
            </DataTemplate>
        </layoutToolkit:AccordionItem.HeaderTemplate>
        <StackPanel >
            <RadioButton Margin="5,5,5,5" x:Name="todayRB" GroupName="RBGroup" Content="{Binding Resource.Today, Source={StaticResource LocalizedStrings}}" Checked="RB_Checked"/>
            <RadioButton Margin="5,5,5,5" x:Name="yesterdayRB" GroupName="RBGroup" Content="{Binding Resource.Yesterday, Source={StaticResource LocalizedStrings}}" Checked="RB_Checked"/>
            <RadioButton Margin="5,5,5,5" x:Name="dayPickerRB" GroupName="RBGroup"  Checked="RB_Checked">
                <StackPanel Orientation="Horizontal" >
                    <TextBlock Text="{Binding Resource.Day, Source={StaticResource LocalizedStrings}}" Margin="0,0,5,0" VerticalAlignment="Center"/>
                    <Controls:DatePicker x:Name="dayPickerDP" />
                </StackPanel>
            </RadioButton>
        </StackPanel>
    </layoutToolkit:AccordionItem>
</layoutToolkit:Accordion>
  

Итак, в вашем случае это было бы что-то вроде:

 <Accordion>
   <AccordionItem Header="My header text">
     <DataGrid x:Name="MyDataGrid"/>
   </AccordionItem>
</Accordion>
  

Надеюсь, это имеет смысл для вас.

Комментарии:

1. Идеальный. Большое спасибо. Немного информации здесь! forums.silverlight.net/forums/p/125308/286961.aspx#286961