0

テキストを横に並べた長方形をいくつか作成したいと思います。次に、グループを通じて連絡先を確認するときの People Hub について説明します。

各アイテムに基づいて X の長方形を作成する必要があるのですが、それを繰り返す方法がわかりません。

私が考えることができる唯一の方法は、リストを使用してから、テキストを含む長方形を取得しようとすることです。

スタックパネルを繰り返したり、グリッドを繰り返したりできるかどうかはわかりません。

4

2 に答える 2

0

それは本当にあなたが何をしたいかに依存します。

アイテムの数が決まっていて、それらがデザインタイムのように見えるべきかを知っている場合

ListBoxItem次に、XAMLにを追加するだけです。

           <ListBox>
                <ListBox.Items>
                    <ListBoxItem>
                        <Border Background="Green" Width="70" Height="70">
                            <Grid>
                                <Rectangle Width="50" Height="50" 
                                           Fill="Red" Margin="10" />
                                <TextBlock Text="1" HorizontalAlignment="Center" 
                                                    VerticalAlignment="Center" />
                            </Grid>
                        </Border>
                    </ListBoxItem>
                    <ListBoxItem>
                        <Border Background="Blue" Width="70" Height="70">
                            <Grid>
                                <Rectangle Width="50" Height="50" 
                                           Fill="Yellow" Margin="10" />
                                <TextBlock Text="2" HorizontalAlignment="Center"
                                           VerticalAlignment="Center" />
                            </Grid>
                        </Border>
                    </ListBoxItem>
                </ListBox.Items>
            </ListBox>

事前にアイテムがいくつあるかわからず、すべて同じ外観にしたい場合

そうです、バインディングが唯一の方法です

データバインドされたアイテムのUIの複雑さに応じて、そのuiロジックを別の(ユーザー)コントロールでラップし、それをアイテムのDataTemplateとして使用することができます。

           <ListBox ItemsSource={Binding TheItemsToBind}>
               <ListBox.ItemTemplate>
                    <DateTemplate>
                        <mycontrols:MySpecializedControl 
                            [...whatever it takes to bind to the data item...]/>
                    </DateTemplate>
               </ListBox.ItemTemplate>
           </ListBox>
于 2013-03-15T18:03:52.650 に答える
0

バインドされたリスト自体は、要素が でどのように見えるかを認識していませんListBox。アイテムごとに を定義する必要がありDataTemplateます (詳細はこちら)。

ここでは、People Hub で行われるようなグループ化について話しているので、LongListSelectorコントロールを使用できます (チュートリアルはこちらこちら)。

于 2013-03-15T18:31:15.930 に答える