Сценарий:
Я работаю над App Store в WinRT/Win8.Ребенок ScrollView не изменяет размер с помощью окна Resize WinRT
У меня есть ScrollView
с пользовательскими UserControl
ребенком внутри - все в рамках одного «основных»UserControl
.
Когда главный UserControl
(с ScrollView
-> ребенком UserControl
) в инициализируются/перемещения между ними - даже с App шириной не полноэкранных; UserControl
находится на полной ширине ScrollView
- по желанию. Изображения ниже:
- Image 1 - main User Control Opens with Window Fullscreen
- Image 2 - main User Control Opens Starts Half-Width (or any width)
ScrollView
сам по себе находится в пределах Grid
и сохраняет при полной ширине окна App, даже когда он изменяется - по желанию.
Выпуск:
Проблема у меня в том, что при изменении размера окна приложения по горизонтали, ребенок UserControl
не сохраняет ту же ширину, как его родитель ScrollView
«с.
Это приводит к тому, что ScrollView
имеет горизонтальные полосы прокрутки, которые я не хочу.
Я хочу, чтобы сохранить ширину ребенка быть связан внутри ширины ScrollView
без какой-либо горизонтальной полосы прокрутки (как в Image 2).
Markup похож на это (я разделась для удобства чтения):
<Grid>
<!-- Some row/column definitions in here -->
...
<!-- A header TextBlock -->
...
<ScrollViewer x:Name="scrlTableRows" Grid.ColumnSpan="3" Grid.Row="1"
HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
Padding="66,0,66,40" ZoomMode="Disabled">
<local:MyCustomUserControl Margin="0,10,0,10" HorizontalAlignment="Stretch" />
</ScrollViewer>
...
<!-- Just a button here-->
</Grid>
Я уже пробовал установку (на ребенка обычая UserControl
):
Width="{Binding Path=ActualWidth, ElementName=scrlTableRows}"
Ребенок не является установлен на полную ширинуScrollView
начать с (что мне нужно), и не изменить ширину с его родителем либо - дает мне ScrollBarsWidth="{Binding Path=Width, ElementName=scrlTableRows}"
Ребенок делает старт на всю ширину родителя, но Безразлично» т размер - даешь мне ScrollBarsЯ также попытался поместить
UserControl
внутриGrid
(вScrollView
), среди многих другихHorizontalAligment
иWidth
свойств.
Все безрезультатно.
Другие похожие ситуации/ответы не работали с другими полезными ребятами в StackOverflow.
Очевидно, мне нужны вертикальные полосы прокрутки - как это очевидно; прежде чем кто-либо спросит.
Может ли кто-нибудь дать мне какие-либо указатели, пожалуйста?
Update:
Вот обычай UserControl
«s Xaml, в соответствии с просьбой @LovetoCode:
<UserControl *usual user control declaritive stuff in here*>
<UserControl.Resources>
<CollectionViewSource x:Key="FieldViewModelsSource" Source="{Binding ItemToEdit.FieldViewModels}"/>
<datatemplateselectors:FieldViewModelDataTemplateSelector
x:Key="FieldViewModelDataTemplateSelector"
AudioFieldTemplate="{StaticResource TableRowAudioFieldDataTemplate}"
CheckboxFieldTemplate="{StaticResource TableRowCheckboxFieldDataTemplate}"
DatasetFieldTemplate="{StaticResource TableRowDatasetFieldDataTemplate}"
DateFieldTemplate="{StaticResource TableRowDateFieldDataTemplate}"
DateTimeFieldTemplate="{StaticResource TableRowDateTimeFieldDataTemplate}"
DropdownFieldTemplate="{StaticResource TableRowDropdownFieldDataTemplate}"
FileFieldTemplate="{StaticResource TableRowFileFieldDataTemplate}"
GpsFieldTemplate="{StaticResource TableRowGpsFieldDataTemplate}"
GridFieldTemplate="{StaticResource TableRowGridFieldDataTemplate}"
ImageFieldTemplate="{StaticResource TableRowImageFieldDataTemplate}"
LabelFieldTemplate="{StaticResource TableRowLabelFieldDataTemplate}"
MultichoiceCheckboxFieldTemplate="{StaticResource TableRowMultichoiceCheckboxFieldDataTemplate}"
RadioFieldTemplate="{StaticResource TableRowRadioFieldDataTemplate}"
RangeSliderFieldTemplate="{StaticResource TableRowRangeSliderFieldDataTemplate}"
SignatureFieldTemplate="{StaticResource TableRowSignatureFieldDataTemplate}"
SplitterFieldTemplate="{StaticResource TableRowSplitterFieldDataTemplate}"
TextFieldTemplate="{StaticResource TableRowTextFieldDataTemplate}"
TextareaFieldTemplate="{StaticResource TableRowTextareaFieldDataTemplate}"
TimeFieldTemplate="{StaticResource TableRowTimeFieldDataTemplate}"
VideoFieldTemplate="{StaticResource TableRowVideoFieldDataTemplate}"/>
</UserControl.Resources>
<Grid>
<ItemsControl ItemsSource="{Binding Source={StaticResource FieldViewModelsSource}}"
ItemTemplateSelector="{StaticResource FieldViewModelDataTemplateSelector}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Margin="10,0,10,0" Orientation="Vertical" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
</UserControl>
Обратите внимание, что DataTemplate
ресурсы в UserControl
ресурсы являются пользовательские UserControl
s, которые загружены в соответствии с объектами в ViewModel (например, в my original image 1).
Try HorizontalContentAlignment = "Stretch" – Archana
На каком контроле? Если вы говорите об этом, я думаю, что у меня уже есть ... –
On –
Archana