Silverlight 3 - Datagrid в Accordian Item - Как установить заголовок

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

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

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

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

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

Спасибо, я


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


Ответы (1)


Accordion имеет только AccordionItem детей. Вы должны явно указать дочернему элементу Accordion вот так (пример Accordion с 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>

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

person R4cOOn    schedule 10.09.2009
comment
Идеально. Большое спасибо. Немного информации здесь! forums.silverlight.net/forums/p/125308/286961.aspx# 286961 - person ; 14.09.2009