WrapPanelは、その内部のコントロールを水平にして中央に配置したい場合がありますが、リストボックスやItemsControlがある場合、これらの要素は下方向に移動します。ラップパネルはDataItemsをラップしていません
<toolkit:WrapPanel>
<ItemsControl x:Name="AnswerListBox" ItemsSource="{Binding Answers}" ScrollViewer.VerticalScrollBarVisibility="Disabled" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- those don't wrap horizontally and go downwards -->
<local:spriteToggleButton Text="{Binding text}" Selected="{Binding selected}" Sprites="{Binding Path=DataContext.UISprites, ElementName=questionField}" IsChecked="{Binding selected, Mode=TwoWay}" GroupName="{Binding Path=DataContext.QuestionTitle, ElementName=questionField}" ClickMode="Press" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</toolkit:WrapPanel>
私はいくつかの同様の問題に出くわしたとItemsPanelを知ったので、私はそれを試してみましたが、それは唯一のコンテンツへ折り返すと、その中に制御の残りの部分が表示されませんでした。
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
私はItemsPanelはでそれをラップするように制御するが、その後、私のDataTemplateの残りの部分を無視するように思われるのItemsControlを語っていることそれを取ります。
私は明日これを試してみます、ありがとう。 –
それでも同じことが行われますが、コンテンツのみがカスタムコントロールに存在しますが、水平方向に移動します –
依存プロパティが変更されていないため、DataContextが何らかの形で失われているためxxDependencyPropertyValueChangedが実行されませんそれを変更していません。 –