場景:
我正在WinRT/Win8中的商店應用程序工作。ScrollView的孩子沒有適當調整窗口大小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
內,並與應用程序窗口的整個寬度保持,甚至當它的調整 - 根據需要。
問題:
我遇到的問題是,當我水平調整應用窗口,孩子UserControl
不保持相同的寬度爲其父ScrollView
的。
這導致ScrollView
然後有水平滾動條 - 我不想要。
我想保住孩子的寬度與ScrollView
的寬度沒有水平滾動條(如Image 2)內部約束。
標記與此類似(我已經剝離下來的可讀性):
<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}"
孩子不是設置在的全寬度與啓動(這是我所需要的),並且不與其父要麼調整寬度 - 給我的滾動條Width="{Binding Path=Width, ElementName=scrlTableRows}"
孩子確實開始在父的全寬,但沒有按」牛逼調整 - 給我的滾動條我也試着放置
UserControl
一個Grid
內(內ScrollView
),以及許多其他HorizontalAligment
和Width
性能。
所有無濟於事。
沒有其他類似的情況/答案從其他有幫助的研究員在StackOverflow工作。
顯然,我需要垂直滾動條 - 這是顯而易見的;之前有人問。
有人可以給我任何指針嗎?
更新:
這裏是習俗UserControl
的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)。
嘗試HorizontalContentAlignment =「拉伸」 – Archana
在哪個控件上?如果你對自定義的一個,我想我已經有... –
在 –
Archana