2017-06-01 6 views
-2

ItemsControlの項目の配置を設定する方法を探しています。上から下(デフォルト)ではなく左から右に配置されています。 ItemsControl内の項目を水平に整列させます(xamlなし)

は、私はそこに

ItemsControl crtl = new ItemsControl; 
... 
ctrl.ContentAlignment = ContentAlignment.Horizontal; // does not exist 

のような容易に設定することができるプロパティは、である。しかし、これは当てはまらないようだと思いました。 XAMLにはこれを達成するための無数の例があります(通常、スタイルやテンプレートなどを使用します)。しかし、C#コードでは何も見つかりませんでした。そして、xamlステートメントをC#コードに変換する方法もわかりません。

誰でもヒントを教えてください。

+0

Let'sをしようプロパティを使用するここでのようなオリエンテーション:[https://stackoverflow.com/questions/1052342/itemscontrol-wit h-horizo​​ntal-orienta tion](https://stackoverflow.com/questions/1052342/itemscontrol-wit%E2 %80%8C%E2%80%8Bh-horizo​​ntal-Oria%E2%80%8C%E2%80%8Btion) – macieqqq

+1

これらのリンクは役立ちます:https://social.msdn.microsoft.com/Forums/vstudio/en -US/f02db50e-52f6-45d5-b245-6e3ded37bb6e/prog rammatically-set-itemcontrols-itemspanelemplate?forum = wpf&https://stackoverflow.com/questions/8398000/how-to-set-itemspaneltemplate-to-a-dynamically-created-grid-in-code-behind – PaulF

答えて

3

Let`sは、ここのようにプロパティの向きを使用しよう:ItemsControl with horizontal orientation H-水平オリエンンここ

taは一例です。

var itemsControl = new ItemsControl();  
var factoryPanel = new FrameworkElementFactory(typeof(StackPanel)); 
factoryPanel.SetValue(Panel.IsItemsHostProperty, true); 

factoryPanel.SetValue(StackPanel.OrientationProperty, Orientation.Horizontal);  
var template = new ItemsPanelTemplate {VisualTree = factoryPanel};  
itemsControl.ItemsPanel = template; 
関連する問題