Silverlight3: layout что за
От: J_K  
Дата: 30.08.09 07:34
Оценка:
Всем привет,
начинаю изучать SL, и первое, что мне пока совершенно непонятно — это layout. Очень простой код

<Grid x:Name="LayoutRoot" ShowGridLines="True"  Width="700" Margin="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="30%"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <StackPanel Grid.Column="0" Orientation="Vertical">
            <Border BorderThickness="1">
               <Button Content="jhgjhgjhg" HorizontalAlignment="Left"></Button>  
            </Border>
           
            <Button Click="OpenFileBtn_Click" HorizontalAlignment="Left" x:Name="OpenFileBtn" Width="120" Height="20" Content="Open file"></Button>
        
        </StackPanel>
</Grid>


Как видим, здесь стэк-панель и в ней две кнопки, причем у кнопок прописано, как они должны быть расположены.
Но на выходе я имею совершенно непонятную хрень — очень широкий первый столбец (явно не треть от 700 пикселов), и в нем в правой части кусочки кнопок — как будто кнопки почему-то расположились с огромным сдвигом и просто не влезли в столбец. Я не понимаю, почему так получается. То ли что-то не так с гридом, то ли не знаю с чем.
И еще — как узнать, что реально в таблице и где ее границы? ShowGridLines дает убогую толстую линию на границе столбцов, а мне надо нормальные границы — вдоль всех клеток, как обычный бордер в обычной HTML-ской таблице.
Сэнькс
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Re: Silverlight3: layout что за
От: Glebashnik  
Дата: 30.08.09 18:11
Оценка: 2 (1)
Попробуй так:

<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="7*"/>
</Grid.ColumnDefinitions>

Возможно тебе стоит обратить внимание на DataGrid из Silverlight Toolkit.

J_K>Всем привет,

J_K>начинаю изучать SL, и первое, что мне пока совершенно непонятно — это layout. Очень простой код

J_K>
J_K><Grid x:Name="LayoutRoot" ShowGridLines="True"  Width="700" Margin="0">
J_K>        <Grid.ColumnDefinitions>
J_K>            <ColumnDefinition Width="30%"/>
J_K>            <ColumnDefinition Width="*"/>
J_K>        </Grid.ColumnDefinitions>
J_K>        <StackPanel Grid.Column="0" Orientation="Vertical">
J_K>            <Border BorderThickness="1">
J_K>               <Button Content="jhgjhgjhg" HorizontalAlignment="Left"></Button>  
J_K>            </Border>
           
J_K>            <Button Click="OpenFileBtn_Click" HorizontalAlignment="Left" x:Name="OpenFileBtn" Width="120" Height="20" Content="Open file"></Button>
        
J_K>        </StackPanel>
J_K></Grid>
J_K>


J_K>Как видим, здесь стэк-панель и в ней две кнопки, причем у кнопок прописано, как они должны быть расположены.

J_K>Но на выходе я имею совершенно непонятную хрень — очень широкий первый столбец (явно не треть от 700 пикселов), и в нем в правой части кусочки кнопок — как будто кнопки почему-то расположились с огромным сдвигом и просто не влезли в столбец. Я не понимаю, почему так получается. То ли что-то не так с гридом, то ли не знаю с чем.
J_K>И еще — как узнать, что реально в таблице и где ее границы? ShowGridLines дает убогую толстую линию на границе столбцов, а мне надо нормальные границы — вдоль всех клеток, как обычный бордер в обычной HTML-ской таблице.
J_K>Сэнькс
Re[2]: Silverlight3: layout что за
От: J_K  
Дата: 31.08.09 06:32
Оценка:
Здравствуйте, Glebashnik, Вы писали:

G>Попробуй так:


G><Grid.ColumnDefinitions>

G> <ColumnDefinition Width="3*"/>
G> <ColumnDefinition Width="7*"/>
G></Grid.ColumnDefinitions>

G>Возможно тебе стоит обратить внимание на DataGrid из Silverlight Toolkit.


Спасибо, трабла была именно в указании ширины. Ширину в сильверлайте не указывают в процентном соотношении.
Кроме того, выяснилось, что у меня объект Silverlight стоит посередине страницы и когда встречались проценты в неположенном месте, он как-то неправильно их обрабатывал (т.е. правильно конечно, но некорректно на мой непосвященный взгляд) и делал колонку очень узкой.
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.