2

私のプロジェクトでは、次のような XAML ファイルがあります。

<Grid Margin="50,0,0,0">
   //Huge amount of code goes here
</Grid>

Grid設計中にすべてのコードを確認するのは非常に困難です。すべてのコードを別の XAML ファイル ファイルに移動して、このGridコンテンツでその XAML ファイルを呼び出すことはできますか?

<Grid Margin="50,0,0,0">
    //call xaml file here
</Grid>
4

1 に答える 1

3

UserControl を定義する必要があります。「膨大な量のコード」が次のようなものであると仮定します。

<Border Name="yourBorder">
      //Other Xamls
</Border>

ここで、新しい UserControl を作成し、この Border をその中に入れます

<UserControl x:Class="WpfApplication.UserControl1"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300">
 <Border Name="yourBorder">
      //Other Xamls
</Border>
</UserControl>

UserControl1他の Xaml で使用できます。xmlns:wp="clr-namespace:WpfApplication"Xamlに追加する必要があります。たとえば、ウィンドウで使用する場合:

<Window x:Class="WpfApplication.Window2"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:wp="clr-namespace:WpfApplicationUpper"     //This is what I mentioned
    Title="Window2" Height="300" Width="300">
<StackPanel>
    <wp:UserControl1 />    // You call it using this format
</SatckPanel>
于 2012-12-26T04:27:32.747 に答える