WPF、XAML、VS2008、およびBlend 2(または3 Betaが優先)を使用して、データテンプレートを作成するプロセスは何ですか?データの外観をテストするだけでアプリを回転させることなく、データテンプレートの外観をテストするプロセスがありますか?データテンプレートをよりグラフィカルに作成するためにBlendで使用できるプロセスはありますか?WPFのデータテンプレートの設計
4
A
答えて
6
あなたはこのん(それは同様VSでの作業を取得するために)ブレンドによって、設計時にデータを指定するか、またはすることができます
- はあなたのDataContextとして設定されたオブジェクトのサブクラスを作成します。
- このサブクラスのコンストラクタでは、プロパティをいくつかのテスト値に設定します。
- サブクラスのインスタンスをリソースとして宣言します。
- DataContextをこのリソースに設定します。
- DataContextを実行時に意味のあるものに設定することを忘れないでください。そうしないと、ユーザーにはデザイン時データが表示されます。
Silverlightでも同様に動作します。
ここではいくつかのサンプルコードです:
// The object (in a list) that'll be bound as our ListBox ItemsSource
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
// Our design-time data. Note that we add list items in the constructor
public class PersonDesignTimeData : ObservableCollection<Person>
{
public PersonDesignTimeData()
{
this.Add(new Person { FirstName = "Fred", LastName = "Smith" });
this.Add(new Person { FirstName = "Jim", LastName = "Brown" });
this.Add(new Person { FirstName = "Dave", LastName = "Jones" });
}
}
Window1.xaml:
<Window x:Class="DesignTimeDataDemo.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:DesignTimeDataDemo"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<local:PersonDesignTimeData x:Key="PersonDesignTimeData"/>
</Window.Resources>
<Grid x:Name="root" DataContext="{StaticResource PersonDesignTimeData}">
<ListBox
ItemsSource="{Binding}"
>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding FirstName}"/>
<TextBlock Grid.Column="1" Text="{Binding LastName}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Window>
2
は、私が設計時のデータのための上記の溶液を使用することはありません。ブレンドデザインライブラリは、Visual Studioで動作し、SDKですぐに使用できます。 上記の方法では、リソースインスタンスの実行時にメモリが消費されます。これは、クラスをインスタンス化してインスタンス化するだけです。
<Window x:Class="DesignTimeDataDemo.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:DesignTimeDataDemo"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
xmlns:DesignInstances="clr-namespace:Mrwa.Mmis.Field.Client.Feature.Defect.ViewModel"
d:DataContext="{d:DesignInstance IsDesignTimeCreatable=True, Type=DesignInstances:PersonDesignTimeCreatable}"
Title="Window1" Height="300" Width="300">
<Grid x:Name="root" >
<ListBox
ItemsSource="{Binding}"
>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding FirstName}"/>
<TextBlock Grid.Column="1" Text="{Binding LastName}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
:あなたは前の回答と同じことを行うが、このようなXAMLでそれを参照しますベースとして上記の例を使用
関連する問題
- 1. WPF listbox空のデータテンプレート
- 2. WPF - データグリッド内のオブジェクトのデータテンプレート
- 3. WPFコントロールの設計ガイダンス - タイムライン
- 4. スライドショーアプリケーションのWPFソリューション設計
- 5. ネストされたデータテンプレート(データテンプレートのデータテンプレート)を使用してwpfテンプレートを作成する方法
- 6. エンティティフレームワークとWPFアプリケーション設計ガイダンス
- 7. WPF - 個々のレコードではなく、ViewModelへのデータテンプレートのバインド
- 8. WPFのビューモデルからデータテンプレートのリストビューをバインドする方法
- 9. WPFとC#のデータテンプレートのボタンからListBoxItemを削除する
- 10. WPFのカスタムオブジェクトの属性にデータテンプレートをバインドします
- 11. 設計時のみエラー:WPF "StaticExtension" 例外
- 12. WPF - データテンプレートを持つ単一のエンティティを表示
- 13. WPFツリーの階層データテンプレートに関する質問
- 14. WPF:バインディングプロパティを使用してデータテンプレートをカスタマイズする
- 15. MSDNデータテンプレートの概要
- 16. wpfの階層データテンプレートのツリービュー項目のコンテキストメニューを表示する方法
- 17. は、WPFは、子のItemsControlデータテンプレートの内部から親のItemsControlにバインド
- 18. WPFとMVVMのモデル設計上のヒントが必要です
- 19. 親テンプレートのプロパティをデータテンプレートから設定する
- 20. 設定ComboBox.SelectedIndexブレークは、次のデータテンプレートに表示されComboBox.SelectedItem
- 21. ListBoxItemのタグメンバーをデータテンプレート内に設定していますか?
- 22. データテンプレートからリストビュー選択の変更イベントを取得する方法WPF
- 23. ComboBoxのWPFグループアイテムをプログラムで作成する(コード内にデータテンプレートを作成する)
- 24. データテンプレートとリストボックス
- 25. 設計時の失敗:WPF、集合体Loading
- 26. Silverlight/Windows Phone 7のカスタムUIコンポーネントを設計するWPF
- 27. 500ページ以上のwpfアプリケーションを設計するには
- 28. WPF-xamlテキストボックス値の合計
- 29. WPFの合計値はテキストボックス
- 30. スヌープwpfウイルスの合計