Announcement

Collapse
No announcement yet.

Lưu một cửa sổ tự tạo trong WPF

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Lưu một cửa sổ tự tạo trong WPF

    Mình design một cửa sổ theo ý thích và muốn dùng cửa sổ này làm giao diện chung cho các cửa sổ con. Chắc là WPF có hỗ trợ lưu để tái sử dụng nhưng mình không biết làm thế nào. Bạn nào viết hướng dẫn giúp với, trên Blend càng tốt!

  • #2
    bạn thử dùng user control thử

    Comment


    • #3
      Thực tế thì hình như WPF không có chức năng đó. Tuy nhiên bạn cũng có thể thực hiện được mục đích của mình dựa trên ý tưởng của Master Page trong ASP.NET. Ý tưởng mà mình đưa ra ở đây là bạn sử dụng frame. Bạn design 1 cửa sổ chính với những control, chức năng mà mình thích. Ở vùng mà bạn muốn có nội dung khác nhau tùy vào từng cửa sổ thì bạn đặt control frame vào đấy. Mình ví dụ đại khái ở dưới này nhé:
      Code:
      <Window x:Class="WindowPageHost.WindowWithFrame" 
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
          Title="WindowWithFrame" Height="300" Width="300" 
          > 
        <Grid Margin="3"> 
          <Grid.ColumnDefinitions> 
            <ColumnDefinition/>
          </Grid.ColumnDefinitions> 
       
          <StackPanel> 
            <TextBlock Margin="3" TextWrapping="Wrap"> 
             [B][COLOR="#FF0000"]Đây là phần giao diện chung[/COLOR][/B].</TextBlock> 
            <Button Margin="3" Padding="3">Close</Button> 
          </StackPanel> 
          [COLOR="#FF0000"]<Frame Grid.Column="1" Source="Page1.xaml" 
           BorderBrush="Blue" BorderThickness="1"/>[/COLOR]
        </Grid> 
      </Window>
      Đoạn XAML trên định nghĩa 1 cửa sổ sử dụng grid làm layout container. Grid này có 2 cột, cột thứ nhất chứa TextBlock chính là phần chung trong các cửa sổ của bạn. Cột thứ 2 sử dụng đến 1 control gọi là Frame, đây chính là nơi bạn tạo nên sự khác biệt cho các cửa sổ. Frame có property Source, property này sẽ trỏ đến Page mà bạn đã define giao diện cho phần riêng đó. Để thay đổi giao diện của phần riêng này bạn sẽ chỉ cần sử dụng phương thức Navigate(...) của frame instance.

      Để biết rõ hơn bạn có thể search MSDN một số nội dung về Page, Frame.

      Chúc bạn thành công ^_^

      Comment

      LHQC

      Collapse
      Working...
      X