Предметы управления стрейч Silverlight - PullRequest
0 голосов
/ 01 августа 2011

Внутри моего itemsControl элемент не занимает всю ширину пользовательского элемента управления. Я использую DataTemplateSelector (класс, написанный вручную) для выбора типа шаблона.

Я проверил сообщение Silverlight: Установите ширину элементов в ItemsControl на Stretch , но она не работает для меня. Элементы не растягиваются автоматически и не используют все пространство. Пожалуйста помоги! Заранее спасибо

<ItemsControl  ItemsSource ="{Binding}" Margin="0,5,0,0" HorizontalContentAlignment="Stretch" >
    <ItemsControl.ItemTemplate>
        <DataTemplate>                    
            <local:AddressFieldsTemplateSelector Content="{Binding}" x:Name="addressTemplateSelectorObject">
                <!-- TextBox template-->
                <local:AddressFieldsTemplateSelector.TextBoxDataTemplate>
                    <DataTemplate>                                
                        <Grid Margin="0,0,0,5" HorizontalAlignment="Stretch" >
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="0.5*" />
                                <ColumnDefinition Width=".1*" />
                                  <ColumnDefinition Width="*"/>

                            </Grid.ColumnDefinitions>
                            <TextBlock Text="{Binding AddressFieldName}"  Grid.Column="0" Style="{StaticResource DefaultTheme_TextBlockStyle}"/>
                            <TextBox Text="{Binding AddressFieldValue, Mode=TwoWay}" Grid.Column="2"  Style="{StaticResource TextBoxStyle}"  TextWrapping="NoWrap" MaxLength="50" HorizontalAlignment="Stretch" />
                        </Grid>
                    </DataTemplate>
                </local:AddressFieldsTemplateSelector.TextBoxDataTemplate>
            </local:AddressFieldsTemplateSelector>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

1 Ответ

0 голосов
/ 01 августа 2011

Элементы внутри вашей таблицы данных всегда будут занимать всю доступную ширину из-за ширины звезды. Проблема, скорее всего, связана с самим itemcontrol. Вы уверены, что itemscontrol не содержится ни в столбце StackPanel, ни в автоширине Grid. HorizontalAlignment для ItemsControl установлено на Left?

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