Перевод XAML на С#

Я создаю ListBox в моем коде С#, и мне нужно написать этот код на С#, хотя я не совсем уверен, как это сделать,

http://smehrozalam.wordpress.com/2011/01/31/silverlight-and-wpf-how-to-make-items-stretch-horizontally-in-a-listbox/

<grid>
<grid.resources>
 
</grid.resources>
<listbox margin="100" itemssource="{Binding MyList}" itemcontainerstyle="{StaticResource ListBoxItemStyle}" scrollviewer.horizontalscrollbarvisibility="Disabled">
 <listbox.itemtemplate>
 <datatemplate>
 <textbox text="{Binding}" background="LightYellow" textwrapping="Wrap">
 </textbox></datatemplate>
 </listbox.itemtemplate>
</listbox>
</grid>

Более конкретно, как написать это в С#

А также

ItemContainerStyle="{StaticResource ListBoxItemStyle}"
2 ответа

Вы можете создать стиль через:

Style style = new Style(typeof(ListBoxItem));
style.Setters.Add(new Setter(Control.HorizontalContentAlignment, HorizontalAlignment.Stretch));

Затем вы можете установить это через:

listBox.ItemContainerStyle = style;


Ответ, написанный Ридом Копси, будет работать.

Наивная альтернатива (хотя, честно говоря, более "эффективная", поскольку она явная) заключается в том, чтобы установить свойство HorizontalContentAlignment объектов ListBoxItem в HorizontalAlignment.Stretch, когда вы их создаете (если вы также создаете их в коде).

ListBoxItem i = new ListBoxItem { HorizontalContentAlignment = HorizontalAlignment.Stretch };

licensed under cc by-sa 3.0 with attribution.