0

我正在我的项目中做一个列表,每个项目都需要一个按钮。

如何在 ListBox 中获取这些按钮,例如在我的 windows phone 的“Last calls”页面中?

谢谢。

4

4 回答 4

2

FunksMaName 的答案非常正确,除了一个小的变化.....

<ListBox Height="360"
          HorizontalAlignment="Left"
          Margin="22,23,0,0"
          Name="UserDetailsListBox"
          VerticalAlignment="Top"
          Width="413">  <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                 <Button.Template>
                        <ControlTemplate>
                          <Image Source="/Assets/Images/MyImage.png" />
                        </ControlTemplate>
                    </Button.Template>
               <TextBlock x:Name="txtOverViewHeader1"
                          Text="OverView"
                          Foreground="Yellow"
                          Width="600"
                          FontSize="28"
                          Margin="10,0,0,0"
                          Height="65">
                </TextBlock>
             </StackPanel>
        </DataTemplate></ListBox.ItemTemplate></ListBox>

我只是在按钮的模板中移动了图像而不是内容......这更准确..

于 2013-09-05T12:49:55.273 回答
1

我们可以像这样为 Listbox 的每个项目添加按钮。

<ListBox Height="360"
                  HorizontalAlignment="Left"
                  Margin="22,23,0,0"
                  Name="UserDetailsListBox"
                  VerticalAlignment="Top"
                  Width="413">
 <ListBox.ItemTemplate>
                <DataTemplate>
                   <StackPanel Orientation="Vertical"
                               >
    <StackPanel Orientation="Horizontal">
                        <Button Width="150" Height="50" x:Name="Btn1" Content="Button1"                                 Margin="0,-20,0,0"/>
                       <TextBlock x:Name="txtOverViewHeader1"
                                  Text="OverView"
                                  Foreground="Yellow"
                                  Width="600"
                                  FontSize="28"
                                  Margin="10,0,0,0"
                                  Height="65">
                        </TextBlock>
                     </StackPanel>

             <StackPanel Orientation="Horizontal">
                        <Button Width="150" Height="50" x:Name="Btn2" Content="Button2"                                 Margin="0,-20,0,0"/>
                       <TextBlock x:Name="txtOverViewHeader2"
                                  Text="OverView"
                                  Foreground="Yellow"
                                  Width="600"
                                  FontSize="28"
                                  Margin="10,0,0,0"
                                  Height="65">
                        </TextBlock>
                     </StackPanel>

                </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>

                </ListBox>

希望能给你想要的答案

于 2013-09-05T12:00:41.947 回答
0

获得圆形按钮的最简单方法是用户Coding4Fun。它可以免费使用并且安装非常简单。

您可以按照这些说明在您的应用程序中使用它。

至于图标,您可以搜索一些免费包,也可以查看Metro Studio 2是否有您需要的图标。该工具也可以免费使用。

于 2013-09-05T12:56:52.047 回答
0

使用圆形图像,并设置 Tap 事件,或者如果您需要特定于按钮的行为,则将图像包裹在 Button 模板周围

<ListBox Height="360"
              HorizontalAlignment="Left"
              Margin="22,23,0,0"
              Name="UserDetailsListBox"
              VerticalAlignment="Top"
              Width="413"> 
 <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <Button Template="x:Null" Tap="">
                        <Image Source="/Assets/Images/MyImage.png" />
                    </Button>
                   <TextBlock x:Name="txtOverViewHeader1"
                              Text="OverView"
                              Foreground="Yellow"
                              Width="600"
                              FontSize="28"
                              Margin="10,0,0,0"
                              Height="65">
                    </TextBlock>
                 </StackPanel>
            </DataTemplate>
</ListBox.ItemTemplate>

</ListBox>
于 2013-09-05T12:25:43.833 回答