Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Grid Style


Автор: EJack 21.12.2011, 22:29
Всем доброго дня.
 Мне надо вынести в стиль определение стро для грида (Grid).
 сейчас это выгледит так 

Код

<Grid x:Name="LayoutRoot" Style="{StaticResource GridStyle1}"> 
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
</Grid>


Мне необходимо перенести <Grid.RowDefinions> в описание самого стиля GridStyle1 но не могу понять как это сделать? 

Автор: exBlender 22.12.2011, 08:43
Это требует плясок с бубнами и дата-темплейтами:
http://blogs.msdn.com/b/jaimer/archive/2009/01/20/styling-microsoft-s-wpf-datagrid.aspx

Автор: EJack 23.12.2011, 21:23
Спасибо!
Только это немного не то. Так как в статье идет речь о DataGrid'e а мне нужен просто Grid, так же там речь о WPF а у меня Silverlight.

Автор: exBlender 27.12.2011, 01:12
 Там есть пример Grid внутри DataTemplate. По-другому сделать не удастся. Если в Silverlight это не работает, другого способа, скорее всего, нет.

Автор: Kefir 28.12.2011, 09:34
EJack, праведного способа для решения такой задачи нет. Сделайте AttachedProperty для вашего грида, которая генерит это строки, а потом устанавливайте её в вашем стиле. Условно в XAML будет так:
Код

<Style TargetType="Grid" x:Key="MyStyle">
  <Setter Property="local:MyGridExtensions.GenerateThreeRows" Value="True"/>
</Style>
<Grid Style="{StaticResource MyStyle}"/>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)