Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Cách tách file trong .xaml

14:46 20-10-2018 762 lượt xem 2 bình luận 19:31 23-10-2018

Em có 1 cái Window như sau

<Window x:Class="Test.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Test"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
   <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>

        <StackPanel >
            <Button Content="Hi"/>
            <!-- nhiều các control khác ở đây-->
        </StackPanel>
        
        <StackPanel Grid.Row="1">
            <Button Content="Hello"/>
            <!-- nhiều các control khác ở đây-->
        </StackPanel>

    </Grid>
</Window>

Em chia control ra làm 2 file xaml


StackTest.xaml
<StackPanel x:Class="Test.StackTest"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Test"
        mc:Ignorable="d">
            <Button Content="Hi"/>
            <!-- nhiều các control khác ở đây-->
</StackPanel>



StackTestSec.xaml
<StackPanel x:Class="Test.StackTestSec"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Test"
        mc:Ignorable="d">
            <Button Content="Hello"/>
            <!-- nhiều các control khác ở đây-->
</StackPanel>

R

Rồi dùng lại trong file chính

 

<Window x:Class="Test.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Test"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>

        <local:StackTest/>
        <local:StackTestSec Grid.Row="1"/>
    </Grid>
</Window>

Em thấy trong tutorial Xamarin.Forms nó viết như thế được không biết WPF viết ddc như vậy không? Làm thế này cho nó gọn code, không để 1 file 1000 dòng code nó khó tìm.

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 13:40 21-10-2018

bạn tạo userControl rồi sài thôi bạn

Câu hỏi mới nhất