C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: WPFのDataTemplateをGrid内に配置する


(過去ログ 124 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■73863 / inTopicNo.1)  WPFのDataTemplateをGrid内に配置する
  
□投稿者/ meme (20回)-(2014/11/10(Mon) 17:36:04)

分類:[.NET 全般] 

WPFのDataTemplateを使って、Gridの中に画像を配置する方法を探しています。


まず、下記のようなイメージ画像3つWrapPanelに並べるDataTemplateを作ります。

<Grid.Resources>
<DataTemplate x:Key="imageset">
<WrapPanel>
<Image Source="{Binding bitmap01}" />
<Image Source="{Binding bitmap02}" />
<Image Source="{Binding bitmap03}" />
</WrapPanel>
</DataTemplate>
</Grid.Resources>

これを、下記のようなRowdefinitionsで区切られたGridの中に配置したいと考えています。

<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>

<!-- ここにコードを書く -->

</Grid>


GridのRowDefinitionsで区切られた中に、DataTemplateで作ったものをそれぞれ配置したいのですがどのように書けばできるでしょうか。

また、それぞれのGridに与えるDataTemplateのBindingの内容も変えて設定したいのですが同一のテンプレートを
複数の箇所にわけて設定することは可能でしょうか。


環境は
OS:Win8.1
言語:WPF、C#
.net:4.5


わかる方がいらっしゃいましたら、よろしくお願いいたします。

引用返信 編集キー/
■73866 / inTopicNo.2)  Re[1]: WPFのDataTemplateをGrid内に配置する
□投稿者/ Hongliang (249回)-(2014/11/10(Mon) 19:42:38)
確認ですが、Gridには3行存在し、それぞれの行に3つのImageが表示される、ということで合っていますね?

ContentControlを使えば、ContentTemplateプロパティにDataTemplateを指定することができます。
この場合、このContentControlのDataContextにbitmap01-03のプロパティを持ったオブジェクトを与えることで、DataTemplateのWrapPanel以下にDataContextを継承させることができます。

あるいは、GridではなくItemsControlを使って、ItemTemplateにDataTemplateを指定し、ItemsSourceに「bitmap01-03のプロパティを持ったオブジェクト」のコレクションを与えることでも実現できるでしょう。
引用返信 編集キー/
■73923 / inTopicNo.3)  Re[2]: WPFのDataTemplateをGrid内に配置する
□投稿者/ meme (21回)-(2014/11/14(Fri) 17:25:16)
Hongliangさん

返信ありがとうございます。


ItemsControlを使うことで実現することができました。ありがとうございました。




No73866 (Hongliang さん) に返信
> 確認ですが、Gridには3行存在し、それぞれの行に3つのImageが表示される、ということで合っていますね?
>
> ContentControlを使えば、ContentTemplateプロパティにDataTemplateを指定することができます。
> この場合、このContentControlのDataContextにbitmap01-03のプロパティを持ったオブジェクトを与えることで、DataTemplateのWrapPanel以下にDataContextを継承させることができます。
>
> あるいは、GridではなくItemsControlを使って、ItemTemplateにDataTemplateを指定し、ItemsSourceに「bitmap01-03のプロパティを持ったオブジェクト」のコレクションを与えることでも実現できるでしょう。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -