2013-04-03 37 views
11

Tôi đang cố gắng tạo một nút trong XAML với chiều rộng 80%, nhưng tôi không thể tìm ra cách. Nó có vẻ không dễ như sử dụng Width = "80%". Tôi đã suy nghĩ điều này có thể được thực hiện bằng cách phát hiện chiều rộng màn hình bằng cách nào đó và nhân với 0.8 và sử dụng nó như chiều rộng, nhưng tôi không chắc chắn làm thế nào tôi có thể làm điều này trong XAML. Có lẽ điều này phải được thực hiện trong tệp .cs và sau đó điều chỉnh chiều rộng từ đó. Có ai có một giải pháp cho điều này?Cách đặt Độ rộng XAML theo phần trăm?

Trả lời

32

Có phải WPF không?

Nếu có, hãy bọc nút điều khiển (nút) trong lưới. Sau đó, xác định định nghĩa cột lưới. Ví dụ:

<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: Quên để đóng <Button> thẻ.

+0

Lỗi Một giá trị của loại 'Button' không thể được thêm vào bộ sưu tập hoặc từ điển thuộc loại 'ColumnDefinitionCollection'. Tôi nhận được lỗi đó ngay cả khi không thêm thuộc tính Lưới vào nút. Và một khi tôi viết Grid. intelliSense chỉ cung cấp cho tôi d :, local :, mc :, x :, xml: và xmlns là các lựa chọn hợp lệ. Đang cố gắng tìm hiểu xem WPF này có hay không, nhưng AFAIK là vậy. – Tom

+0

Có lẽ tôi cần bao gồm/sử dụng trong phần ? Tôi có nghĩa là để thêm một lược đồ? – Tom

+1

Không nhập Nút của bạn trong khối . Đặt nó vào trong khối , nhưng không nằm trong khối . – Fendy

0

Tôi nghĩ rằng cách thích hợp hơn sẽ là

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

12 phân phối lưới như bootstrap, nó chỉ là về sở thích của bạn

Các vấn đề liên quan