我有一個CustomControl
(說CC
),它已從ContentControl
繼承,幷包含ScrollViewer
其中包括ContentPresenter
。當我把ListBox
放入CC
時,它沒有任何問題。但是,當我設置ListBox
的ItemsPanelTemplate
它不通知CC
滾動到ListBox
選定的項目。更改列表框ItemsPanelTemplate讓我陷入困境?
這是什麼原因? -Thanks
UPDATE:
我會遇到上面僅如果我設置HorizontalScrollBarVisibility
或VerticalScrollBarVisibility
到Hidden
描述的問題,並同時定製ListBox
的ItemsPanelTemplate
。 (我需要隱藏scollbars。)
我不知道是否隱藏Scrollbars
阻止ScrollViewer
內容通知它將所選項目放入視圖中,爲什麼當我不更改項目面板時不會發生此問題?
Generic.xaml:
<ResourceDictionary ...>
<Style TargetType="{x:Type local:CustomControl1}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:CustomControl1}">
<Border ...>
<ScrollViewer ...
CanContentScroll="True"
HorizontalScrollBarVisibility="Hidden" « PROBLEM
VerticalScrollBarVisibility="Hidden"> «
<ContentPresenter Content="{TemplateBinding Content}"/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
MainWindow.xaml:
<Window x:Class="MyNamespace1.MainWindow"
...
xmlns:proj="clr-namespace:MyNamespace0;assembly=...">
<Grid>
<proj:CustomControl1 x:Name="CC">
<ListBox>
<ListBox.ItemsPanel> «
<ItemsPanelTemplate> «
<StackPanel Orientation="Horizontal"/> « PROBLEM
</ItemsPanelTemplate> «
</ListBox.ItemsPanel> «
<!--content goes here-->
</ListBox>
</proj:CustomControl1>
</Grid>
</Window>
你會表現出一定的XAML嗎? –
當然!但是,你的意思是代碼的哪一部分? – Mimi
大衛的意思是你能提供一些減少** XAML的效果嗎? –