2010-04-06 14 views
5

Xin chào, tôi tự hỏi có thể căn chỉnh nút bật tắt trên điều khiển mở rộng WPF sang phía bên phải không?Làm cách nào để căn chỉnh nút điều khiển Mở rộng WPF

+0

Tại sao bạn phải thực hiện quy trình dài như vậy khi có một quy trình đơn giản ở đây trong liên kết được cung cấp bên dưới. http://stackoverflow.com/questions/9288342/how-to-put-wpf-expander-toggle-button-on-right –

Trả lời

14

Với WPF tất cả mọi thứ đều có thể. ;) Thật không may không phải tất cả mọi thứ đều đơn giản. Đặt cược tốt nhất của bạn ở đây là để lại mẫu expander. Bắt đầu bằng cách sao chép mẫu Expander mặc định, được tìm thấy here.

Tiếp theo, tìm Grid có chứa 2 cột, một cột có chứa ToggleButton và cột còn lại chứa ContentPresenter. Hoán đổi các cột sao cho nút chuyển đổi nằm trong cột 1. Sau đó thay đổi kích thước định nghĩa cột sao cho cột đầu tiên có kích thước ngôi sao và cột thứ hai là kích thước 20. Khi hoàn tất, bạn sẽ có một đoạn trong mẫu giống như sau:

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="20" /> 
    </Grid.ColumnDefinitions> 
    <ToggleButton Grid.Column="1" 
     IsChecked="{Binding Path=IsExpanded,Mode=TwoWay, 
     RelativeSource={RelativeSource TemplatedParent}}" 
     OverridesDefaultStyle="True" 
     Template="{StaticResource ExpanderToggleButton}" 
     Background="{StaticResource NormalBrush}" /> 
    <ContentPresenter Margin="4" 
     ContentSource="Header" 
     RecognizesAccessKey="True" /> 
</Grid> 

Tiếp tục sửa đổi mẫu cho đến khi bạn có giao diện mà bạn cần.

EDIT: Mẫu được cung cấp trên MSDN là phiên bản xương trần của mẫu mở rộng "thực". Nếu bạn muốn mẫu giãn nở được cách điệu, hãy sử dụng Blendion Expression và sao chép mẫu điều khiển hiện tại ra khỏi Expander.