#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