56

XAML を使用してユーザー インターフェイスを作成しようとしています。ただし、ファイルはすぐに非常に大きくなり、操作が困難になります。複数のファイルに分割するための最良の方法は何ですか。

ComboBox などの要素のコンテンツを、別の xaml ファイル (ただし、同じ VS プロジェクト内) で定義されている要素に設定できるようにしたいと考えています。

ありがとう

4

4 に答える 4

48

UserControls を定義することで、大きなユーザー インターフェイスを分割できます。

ソリューション ツリーを右クリックし、[追加]、[新しい項目...]、[ユーザー コントロール] の順に選択します。これは通常の方法で設計できます。

その後、名前空間宣言を使用して、XAML でユーザー コントロールを参照できます。UserControl をウィンドウに含めたいとしましょう。次の例では、「Foo」という名前の UserControl を名前空間「YourCompany.Controls」に追加しました。

<Window x:Class="YourCompany.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:Controls="clr-namespace:YourCompany.Controls">

  <Controls:Foo ... />

特定の例では、ユーザーコントロール内にデータを表示する DataTemplate を定義することにより、コンボボックスでユーザーコントロールを利用します。

于 2008-10-22T08:10:48.627 に答える
28

ResourceDictionaryを使用して XAML ファイルを分割できます。ResourceDictionary を使用して、他のファイルをマージできます。

<Page.Resources>
  <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
      <ResourceDictionary Source="myresourcedictionary.xaml"/>
      <ResourceDictionary Source="myresourcedictionary2.xaml"/>
    </ResourceDictionary.MergedDictionaries>
  </ResourceDictionary>
</Page.Resources>

ResourceDictionary では、要素で使用できるスタイルを宣言して、メインの XAML ファイルを小さくすることもできます。

XAML ファイルを小さくするもう 1 つの方法は、メイン アプリで使用する独自のコントロールを定義することです。

于 2008-10-22T08:06:42.833 に答える
-1

スタイルとユーザー コントロールを使用します。インターフェイスを小さなパーツに分割し、別の xaml ファイルにコーディングします。例:

<Window>
<VeryBigControl>
<VeryBigControl.Style>
... <!--very long style-->
</VeryBigControl.Style>
.. <!--content of very big control-->
</VeryBigControl
</Window>

それ を3 つの
xamlファイルに分割します


于 2008-10-22T08:07:01.443 に答える