Windows Phone アプリケーションがあり、そのページの 1 つにユーザー コントロールを追加する必要があります。ポップアップとしてではなく、asp.netページのように追加したい。このユーザー コントロールをページに追加するにはどうすればよいですか?
2 に答える
UserControl が次のような形式であると仮定します。
<UserControl x:Class="UserControlExample.NameReporter"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<!-- Controls here -->
</UserControl>
これは、新しい UserControl を作成し、背後にあるコードが次のようになっている場合にデフォルトで必要です。
using System.Text;
using System.Windows;
using System.Windows.Controls;
namespace UserControlExample
{
public partial class NameReporter : UserControl
{
public NameReporter()
{
InitializeComponent();
}
// your custom methods here
}
}
次のようなコードを使用してページに追加できるはずです
<Grid xmlns:src="clr-namespace:UserControlExample"
Background="White" Margin="0,50,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<src:NameReporter Grid.Row="0"/>
<src:NameReporter Grid.Row="1" Margin="0,15,0,0"/>
</Grid>
後に名前空間を変更し、後clr-namespace:
にコントロール名を変更するだけですsrc:
タグをxmlns:
タグに挿入して、<phone:PhoneApplicationPage>
(グリッド内だけでなく) フォーム全体でコントロールを使用することができます。またsrc
、参照したいものに変更することもできます。
UserControl が適切に作成されている場合、ソリューションをコンパイルすると、ツールボックスにも表示されて使用できるようになるため、ドラッグ アンド ドロップするだけで済みます。
より完全な例については、リファレンスを参照してください。
参考文献:
http://msdn.microsoft.com/en-us/library/system.windows.controls.usercontrol%28v=VS.95%29.aspx
Windows Phone 8 と Windows Phone 8.1 の場合、次の手順でこれを実現できました。
ユーザー コントロールを作成します。この例では、いくつかの長方形を作成して、従来のモバイル メニュー ボタンを模倣しています。
ビルド ソリューション。プロジェクトが更新され、ツールボックスにユーザー コントロールが表示されます。
ツールボックスからユーザー コントロールをドラッグし、ユーザー コントロールを使用する XAML ページにドロップするだけです。