2013-04-03 3 views
11

Я пытаюсь создать кнопку в XAML с шириной 80%, но я не могу понять, как это сделать. По-видимому, это не так просто, как использование Width = "80%". Я думал, что это может быть сделано путем определения ширины экрана как-то и умножить на 0,8 и использовать это как ширину, но я не уверен, как это сделать в XAML. Возможно, это нужно сделать в файле .cs, а затем отрегулировать ширину. У кого-нибудь есть решение для этого?Как установить ширину XAML в процентах?

ответ

32

Это WPF?

Если да, то заверните свой элемент управления (кнопку) в сетке. Затем укажите определение столбца сетки. Пример:

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="0.2*"></ColumnDefinition> 
    <ColumnDefinition Width="0.8*"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 
    <Button Grid.Column="1" Grid.Row="0"></Button> 
</Grid> 

Edit: Забудьте закрыть <Button> тег.

+0

Ошибки значения «Кнопки» типа не могут быть добавлены в коллекцию или словарь типа ColumnDefinitionCollection. Я получаю эту ошибку даже без добавления атрибутов Grid к кнопке. И как только я напишу Грид. intelliSense дает мне только d :, local :, mc :, x :, xml: и xmlns как допустимые варианты. Попытка выяснить, действительно ли это WPF, но AFAIK. – Tom

+0

Возможно, мне нужно включить/использовать в разделе ? Я хочу добавить схему? – Tom

+1

Не вводите свою кнопку в блок . Поместите его внутри блока , но не в блок . – Fendy

0

Я думаю, что правильнее всего было бы

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="2*"></ColumnDefinition> 
    <ColumnDefinition Width="10*"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 
    <Button Grid.Column="1" Grid.Row="0"></Button> 
</Grid> 

12 распределения сетки, как бутстрап, это только о своих предпочтениях

Смежные вопросы